Bug 138942

Summary: Removed the custom allocator for PODRedBlackTree
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: New BugsAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, commit-queue, esprehn+autocc, glenn, kling, kondapallykalyan, sam, WebkitBugTracker
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch sam: review+

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>