Bug 138942 - Removed the custom allocator for PODRedBlackTree
Summary: Removed the custom allocator for PODRedBlackTree
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Geoffrey Garen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-20 16:29 PST by Geoffrey Garen
Modified: 2014-11-20 18:27 PST (History)
8 users (show)

See Also:


Attachments
Patch (34.65 KB, patch)
2014-11-20 16:49 PST, Geoffrey Garen
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Geoffrey Garen 2014-11-20 16:29:57 PST
Removed the custom allocator for PODRedBlackTree
Comment 1 Geoffrey Garen 2014-11-20 16:37:57 PST
Benchmark results (using PerformanceTests/Layout/float*):

Baseline:
floats_100_100.html: mean: 91.1718554492836 ms; stdev: 1.3918589890850632 ms
floats_100_100_nested.html: mean: 100.49385774946131 ms; median: 100.05755349629908 ms
floats_20_100.html: mean: 277.7535506003914 ms; median: 277.76054949936224 ms
floats_20_100_nested.html: mean: 494.03283490028116 ms; stdev: 3.6272360800676324 ms
floats_2_100.html: mean: 196.86348635004833 ms; stdev: 4.035362228138497 ms
floats_2_100_nested.html: mean: 573.9511935502378 ms; stdev: 2.9780811856821683 ms
floats_50_100.html: mean: 182.97691660009147 ms; stdev: 2.5367743906601987 ms
floats_50_100_nested.html: mean: 229.38113970049017 ms; stdev: 2.325508081507197 ms

Patch:
~/OpenSource/PerformanceTests/Layout> cat results-patch.txt 
floats_100_100.html: mean: 88.71689805018835 ms; stdev: 1.363018374233766 ms
floats_100_100_nested.html: mean: 98.24441215023398 ms; stdev: 2.7629447157770586 ms
floats_20_100.html: mean: 279.18915980080783 ms; stdev: 5.142024415145014 ms
floats_20_100_nested.html: mean: 495.1849814511661 ms; stdev: 4.086517310884674 ms
floats_2_100.html: mean: 199.62681959987094 ms; stdev: 3.2710243141682187 ms
floats_2_100_nested.html: mean: 578.9757075501255 ms; stdev: 3.644157356812131 ms
floats_50_100.html: mean: 176.08423344972834 ms; stdev: 2.033621745702075 ms
floats_50_100_nested.html: mean: 226.00061699959042 ms; stdev: 2.011903990152965 ms

Summary:
floats_100_100.html:		2.8% faster
floats_100_100_nested.html:	2.3% faster
floats_20_100.html:		0.5% slower
floats_20_100_nested.html:	0.2% slower
floats_2_100.html:		1.4% slower
floats_2_100_nested.html:	0.9% slower
floats_50_100.html:		3.9% faster
floats_50_100_nested.html:	1.5% faster
***geometric mean***:		0.9% faster

The goal here is just to eliminate unnecessary complexity without regression. A small speedup is a nice bonus.
Comment 2 Geoffrey Garen 2014-11-20 16:49:44 PST
Created attachment 242003 [details]
Patch
Comment 3 Geoffrey Garen 2014-11-20 18:27:07 PST
Committed r176431: <http://trac.webkit.org/changeset/176431>