Closed Bug 1061349 Opened 5 years ago Closed 5 years ago

regression: poor mathml performance


(Core :: MathML, defect)

31 Branch
Not set





(Reporter: danblasch, Unassigned)


(Whiteboard: [closeme 2014-10-10])

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 20140715215003

Steps to reproduce:

viewed a large mathml file on firefox 31 (>3 MB, electronic version of a book with math formulas: Gradshteyn and Ryzhik, "Table of Integrals, Series and Products", 7th edition, Academic Press 2007, Jeffrey and Zwillinger editors, Chapter 2 is a 3.5Mb mathml file, Chapter 3 even has 5.4MB uncompressed mathml code, the latter crashes firefox 31 after ~15 minutes and used to work fine on firefox 24)

Actual results:

it took >10 minutes to render (during which firefox was unresponsive)

Expected results:

expected it to render in <1 minute (as it did fine on firefox 24)
Please provide a minimal test case or a public URL.
Flags: needinfo?(danblasch)
Component: Untriaged → MathML
Product: Firefox → Core
I expect this to be a duplicate of bug 1043358 (fixed in Gecko 34). See also bug 1009582.
I suggest to mark this a duplicate of byg 1043358.

@danblasch Can you please try with an Aurora build and confirm?
Whiteboard: [closeme 2014-10-10]
I can confirm, that 34a2 is faster than 31, but still not as fast as 24:

Chapter 2 of the book I mentioned above is a 3.5MB file (containing only math) which loads (on my PC) in ~20sec in firefox 24, more than 5min in firefox 31, and ~45sec in firefox 34.

Unfortunately I don't have a public link I can share...
Flags: needinfo?(danblasch)
Thanks, I'm marking this a duplicate of bug 1043358 since that corresponds to the major performance drop.

The ratio 20sec in firefox 24 VS ~45sec firefox 34 seems to correspond more or less to bug 1043358 comment 46, so I'm assuming the remaining work to do is for the stretchy operators (bug 1009582).

I'd suggest to use OpenType MATH fonts (, and to explicitly set the font-family stretchy operator to the desired font. This will make the stretchy operator try only the specified math font, instead of testing all possible math font fallback. Not sure how much that will improve the performance, though.
Closed: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1043358
You need to log in before you can comment on or make changes to this bug.