Open
Bug 1228858
Opened 9 years ago
Updated 2 years ago
Investigate the performance impact of changing NS_lroundup30 to cover the full integer range
Categories
(Core :: Layout, enhancement)
Core
Layout
Tracking
()
NEW
People
(Reporter: MatsPalmgren_bugz, Unassigned)
References
Details
(Keywords: perf)
(follow-up from bug 1226627)
http://hg.mozilla.org/mozilla-central/annotate/7883e81f3c30/xpcom/ds/nsMathUtils.h#l43
It can only handle values up to and including (2^30)-1.
nscoord_MAX is 2^30 so NSToCoordRound(float(nscoord_MAX)) actually returns
a negative value, so using NSToCoordRound in Layout is kind of bad.
NSToCoordRoundWithClamp checks for nscoord_MAX/MIN upfront though and
return early before calling NSToCoordRound so that saves us there.
It *might* be faster to use fminf/fmaxf checks there instead of the early
returns, but then we need to make NS_lroundup30 deal with those values.
The author of the paper suggests using a 64-bit int for the temp value
when you need the full integer range (see the PDF link in the code).
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•