[webkit-reviews] review requested: [Bug 70675] DFG should inline constructors : [Attachment 112084] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Oct 22 03:54:59 PDT 2011


Filip Pizlo <fpizlo at apple.com> has asked  for review:
Bug 70675: DFG should inline constructors
https://bugs.webkit.org/show_bug.cgi?id=70675

Attachment 112084: the patch
https://bugs.webkit.org/attachment.cgi?id=112084&action=review

------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
4% speed-up according to V8 harness:


[pizlo at minime benchmarks]
/Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc run.js 
Richards: 8780
DeltaBlue: 6195
Crypto: 15235
RayTrace: 8287
EarleyBoyer: 10410
RegExp: 2151
Splay: 6976
----
Score (version 6): 7269
[pizlo at minime benchmarks]
/Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc run.js 
Richards: 10047
DeltaBlue: 6519
Crypto: 15977
RayTrace: 8753
EarleyBoyer: 10705
RegExp: 2181
Splay: 6675
----
Score (version 6): 7572
[pizlo at minime benchmarks] irb
>> 7572/7269.0
=> 1.04168386297978


1% speed-up on V8 on my harness, neutral on other benchmarks:


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"ConsInline" at
/Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark.
Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime()
function to get microsecond-level timing. Reporting benchmark execution times
with 95% confidence intervals in
milliseconds.

					    TipOfTree		    ConsInline 
				 
SunSpider:
   3d-cube				  7.2502+-0.1566    ?	 
7.4241+-0.4383	     ? might be 1.0240x slower
   3d-morph				  7.5676+-0.0866    ?	 
8.4787+-0.9762	     ? might be 1.1204x slower
   3d-raytrace				  7.5516+-0.2596	 
7.4375+-0.1591	       might be 1.0153x faster
   access-binary-trees			  1.7166+-0.0328    ^	 
1.6273+-0.0497	     ^ definitely 1.0548x faster
   access-fannkuch			  6.3365+-0.0832    ?	 
6.3654+-0.1030	     ?
   access-nbody 			  3.5732+-0.0582    !	 
3.7319+-0.0873	     ! definitely 1.0444x slower
   access-nsieve			  2.5630+-0.0862    ?	 
2.6547+-0.0490	     ? might be 1.0358x slower
   bitops-3bit-bits-in-byte		  1.2803+-0.0286    ?	 
1.2819+-0.0207	     ?
   bitops-bits-in-byte			  2.3518+-0.0529    ?	 
2.4004+-0.0596	     ? might be 1.0207x slower
   bitops-bitwise-and			  3.2922+-0.1064    ?	 
3.3937+-0.1164	     ? might be 1.0308x slower
   bitops-nsieve-bits			  5.3601+-0.1407	 
5.2309+-0.0517	       might be 1.0247x faster
   controlflow-recursive		  2.0984+-0.0529    ?	 
2.1200+-0.0335	     ? might be 1.0103x slower
   crypto-aes				  7.3575+-0.2023    ?	 
7.3963+-0.2192	     ?
   crypto-md5				  2.7472+-0.0559	 
2.7357+-0.0696	     
   crypto-sha1				  2.4900+-0.0766    ?	 
2.4985+-0.0680	     ?
   date-format-tofte			  9.8812+-0.2257    ?	 
9.8824+-0.2363	     ?
   date-format-xparb			  9.5621+-0.1806    ^	 
8.7831+-0.1166	     ^ definitely 1.0887x faster
   math-cordic				  6.5373+-0.1107	 
6.4235+-0.1160	       might be 1.0177x faster
   math-partial-sums			  7.5956+-0.1112    ?	 
7.6460+-0.1109	     ?
   math-spectral-norm			  2.5853+-0.0535    ?	 
2.6329+-0.0769	     ? might be 1.0184x slower
   regexp-dna				 11.4690+-0.1394	
11.4664+-0.1727       
   string-base64			  4.3160+-0.1102    ?	 
4.3448+-0.0889	     ?
   string-fasta 			  6.2094+-0.0823    ?	 
6.2978+-0.0990	     ? might be 1.0142x slower
   string-tagcloud			 11.3336+-0.1578    ?	
11.5913+-0.2544       ? might be 1.0227x slower
   string-unpack-code			 20.3200+-0.1921	
20.1866+-0.2716       
   string-validate-input		  5.1760+-0.1041    ?	 
5.1819+-0.1007	     ?

   <arithmetic> *			  6.0970+-0.0179    ?	 
6.1236+-0.0458	     ?
   <geometric>				  4.9267+-0.0190    ?	 
4.9532+-0.0305	     ?
   <harmonic>				  3.9497+-0.0254    ?	 
3.9661+-0.0276	     ?

					    TipOfTree		    ConsInline 
				 
V8:
   crypto				 73.9880+-0.2918	
73.7529+-0.5499       
   deltablue				173.8198+-1.3253    !  
179.6263+-2.7360       ! definitely 1.0334x slower
   earley-boyer 			 93.0532+-1.8014	
91.2528+-0.7812 	might be 1.0197x faster
   raytrace				 61.3150+-0.5954    !	
62.7879+-0.5693       ! definitely 1.0240x slower
   regexp				104.4297+-0.5066       
103.7345+-0.3769       
   richards				142.0401+-0.5765    ^  
127.8421+-0.5193       ^ definitely 1.1111x faster
   splay				 93.9640+-0.6277    ?	
94.5348+-0.4781       ?

   <arithmetic> 			106.0871+-0.4671    ^  
104.7902+-0.4849       ^ definitely 1.0124x faster
   <geometric> *			100.3137+-0.4654    ^	
99.2872+-0.3231       ^ definitely 1.0103x faster
   <harmonic>				 95.1158+-0.4689	
94.5168+-0.2367       

					    TipOfTree		    ConsInline 
				 
Kraken:
   ai-astar				497.7574+-3.5969    ?  
498.2722+-3.0312       ?
   audio-beat-detection 		191.8794+-0.5609       
191.1399+-1.0241       
   audio-dft				266.4364+-1.5335    ?  
266.9498+-1.4698       ?
   audio-fft				124.2544+-1.3752    ?  
125.3001+-1.2179       ?
   audio-oscillator			253.1079+-1.1617       
252.1611+-1.5947       
   imaging-darkroom			399.4923+-2.0173    ?  
401.5801+-3.3485       ?
   imaging-desaturate			219.5839+-0.7144       
218.3193+-0.8419       
   imaging-gaussian-blur		553.5648+-2.3533    ?  
555.3602+-2.6159       ?
   json-parse-financial 		 58.0299+-0.2573    ?	
58.1449+-0.3121       ?
   json-stringify-tinderbox		 67.7843+-0.3542    !	
69.1365+-0.3027       ! definitely 1.0199x slower
   stanford-crypto-aes			131.0778+-1.4147    ?  
132.4949+-1.5185       ? might be 1.0108x slower
   stanford-crypto-ccm			103.1864+-0.9377    ^  
100.0750+-0.8265       ^ definitely 1.0311x faster
   stanford-crypto-pbkdf2		194.1026+-2.9607    ?  
194.6423+-1.1617       ?
   stanford-crypto-sha256-iterative	 71.1651+-0.2844    ?	
71.2943+-0.2904       ?

   <arithmetic> *			223.6730+-0.2954    ?  
223.9193+-0.4074       ?
   <geometric>				176.5280+-0.2268    ?  
176.6925+-0.2631       ?
   <harmonic>				139.5016+-0.1914    ?  
139.7505+-0.1984       ?

					    TipOfTree		    ConsInline 
				 
All benchmarks:
   <arithmetic> 			 85.7990+-0.1153	
85.6940+-0.1770       
   <geometric>				 22.4107+-0.0641    ?	
22.4489+-0.0838       ?
   <harmonic>				  6.9560+-0.0440    ?	 
6.9838+-0.0474	     ?

					    TipOfTree		    ConsInline 
				 
Geomean of preferred means:
   <scaled-result>			 51.5260+-0.1013	
51.4428+-0.1681


More information about the webkit-reviews mailing list