[webkit-reviews] review requested: [Bug 72367] DFG should distinguish between constants in the constant pool and weak constants added as artifacts of code generation : [Attachment 115124] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 15 01:44:55 PST 2011


Filip Pizlo <fpizlo at apple.com> has asked  for review:
Bug 72367: DFG should distinguish between constants in the constant pool and
weak constants added as artifacts of code generation
https://bugs.webkit.org/show_bug.cgi?id=72367

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

------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
Running on bigmac...
376/376 							 
Generating benchmark report at
TipOfTree_WeakJSConst_SunSpiderV8Kraken_20111115_0124_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on bigmac.local (MacPro5,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
(r100248)
"WeakJSConst" at /Volumes/Data/pizlo/OpenSource/WebKitBuild/Release/jsc
(r100248)

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		   WeakJSConst 
				 
SunSpider:
   3d-cube				  7.4749+-0.0644	 
7.4299+-0.0192	     
   3d-morph				  8.3845+-0.0461    ?	 
8.3906+-0.0284	     ?
   3d-raytrace				  7.7442+-0.0700	 
7.6742+-0.0584	     
   access-binary-trees			  1.6025+-0.0109    ?	 
1.6034+-0.0091	     ?
   access-fannkuch			  7.5388+-0.0119    ?	 
7.5642+-0.0418	     ?
   access-nbody 			  4.2395+-0.0128    ^	 
4.1948+-0.0065	     ^ definitely 1.0107x faster
   access-nsieve			  3.1577+-0.0480    ?	 
3.1684+-0.0500	     ?
   bitops-3bit-bits-in-byte		  1.2435+-0.0116	 
1.2418+-0.0119	     
   bitops-bits-in-byte			  4.8996+-0.0090    ?	 
4.9031+-0.0096	     ?
   bitops-bitwise-and			  3.2956+-0.0132	 
3.2876+-0.0039	     
   bitops-nsieve-bits			  5.6474+-0.0347    ?	 
5.6776+-0.0355	     ?
   controlflow-recursive		  2.2776+-0.0138    ?	 
2.2893+-0.0182	     ?
   crypto-aes				  7.1383+-0.0307    ?	 
7.3632+-0.2517	     ? might be 1.0315x slower
   crypto-md5				  2.5141+-0.0186    ?	 
2.5172+-0.0167	     ?
   crypto-sha1				  2.2031+-0.0262	 
2.1913+-0.0143	     
   date-format-tofte			 10.6322+-0.0729    ?	
10.9712+-0.3371       ? might be 1.0319x slower
   date-format-xparb			 10.1367+-0.2002	
10.0286+-0.1488 	might be 1.0108x faster
   math-cordic				  7.1391+-0.0312	 
7.1318+-0.0148	     
   math-partial-sums			 10.4731+-0.0346    ?	
10.7321+-0.2996       ? might be 1.0247x slower
   math-spectral-norm			  2.6151+-0.0197	 
2.6026+-0.0024	     
   regexp-dna				 13.3218+-0.1639	
13.2719+-0.1412       
   string-base64			  4.0115+-0.0681	 
3.9744+-0.0308	     
   string-fasta 			  7.0860+-0.0260	 
7.0744+-0.0186	     
   string-tagcloud			 13.2013+-0.0443    ?	
13.2020+-0.0594       ?
   string-unpack-code			 22.6294+-0.0993    ?	
22.7089+-0.2704       ?
   string-validate-input		  5.7298+-0.0414	 
5.7200+-0.0230	     

   <arithmetic> *			  6.7822+-0.0247    ?	 
6.8044+-0.0282	     ?
   <geometric>				  5.3983+-0.0200    ?	 
5.4067+-0.0192	     ?
   <harmonic>				  4.2055+-0.0179    ?	 
4.2055+-0.0147	     ?

					    TipOfTree		   WeakJSConst 
				 
V8:
   crypto				 78.1498+-0.2724    ^	
77.3261+-0.1327       ^ definitely 1.0107x faster
   deltablue				173.6689+-0.8090    ^  
168.7560+-0.5806       ^ definitely 1.0291x faster
   earley-boyer 			105.4148+-2.0278       
104.7088+-1.1564       
   raytrace				 63.6958+-0.4413	
63.3436+-0.4916       
   regexp				124.1665+-0.3106       
124.0606+-0.4326       
   richards				140.4802+-1.0213    ^  
137.4830+-0.6866       ^ definitely 1.0218x faster
   splay				 90.1787+-0.8668    ?	
91.1472+-0.7120       ? might be 1.0107x slower

   <arithmetic> 			110.8221+-0.3299    ^  
109.5465+-0.1881       ^ definitely 1.0116x faster
   <geometric> *			105.2702+-0.3705    ^  
104.3266+-0.2047       ^ definitely 1.0090x faster
   <harmonic>				 99.9830+-0.3998    ^	
99.2811+-0.2329       ^ definitely 1.0071x faster

					    TipOfTree		   WeakJSConst 
				 
Kraken:
   ai-astar				807.9812+-12.9122   !  
827.6739+-0.3705       ! definitely 1.0244x slower
   audio-beat-detection 		206.9572+-0.5520    ^  
205.2212+-0.7636       ^ definitely 1.0085x faster
   audio-dft				262.6355+-2.1494    ?  
263.0267+-2.3754       ?
   audio-fft				134.7678+-0.4457    ^  
133.4789+-0.8316       ^ definitely 1.0097x faster
   audio-oscillator			290.3653+-1.2749    !  
293.2817+-0.4361       ! definitely 1.0100x slower
   imaging-darkroom			333.7685+-4.7964    ?  
337.6759+-5.2766       ? might be 1.0117x slower
   imaging-desaturate			240.9239+-0.1990       
240.8862+-0.0772       
   imaging-gaussian-blur		620.7632+-0.1905    ^  
620.3618+-0.1823       ^ definitely 1.0006x faster
   json-parse-financial 		 73.1431+-0.5153    ^	
71.4270+-0.0834       ^ definitely 1.0240x faster
   json-stringify-tinderbox		 78.6364+-0.2496	
78.4720+-0.1564       
   stanford-crypto-aes			115.8029+-0.2686    !  
119.1632+-1.5551       ! definitely 1.0290x slower
   stanford-crypto-ccm			114.2002+-0.3795    ?  
114.5494+-0.8313       ?
   stanford-crypto-pbkdf2		232.5823+-1.8490       
230.6294+-1.1833       
   stanford-crypto-sha256-iterative	 97.4059+-0.3245    ?	
97.5911+-0.6459       ?

   <arithmetic> *			257.8524+-1.0178    !  
259.5313+-0.4196       ! definitely 1.0065x slower
   <geometric>				198.5256+-0.3483    ?  
198.9190+-0.3913       ?
   <harmonic>				159.3606+-0.2079       
159.1536+-0.3199       

					    TipOfTree		   WeakJSConst 
				 
All benchmarks:
   <arithmetic> 			 97.0644+-0.3347    ?	
97.3868+-0.1179       ?
   <geometric>				 24.5881+-0.0648    ?	
24.5908+-0.0486       ?
   <harmonic>				  7.4129+-0.0311	 
7.4123+-0.0253	     

					    TipOfTree		   WeakJSConst 
				 
Geomean of preferred means:
   <scaled-result>			 56.8869+-0.1522    ?	
56.9013+-0.0887       ?

Sending VM builds to oldmac...
Running on oldmac...
376/376 							 
Generating benchmark report at
TipOfTree_WeakJSConst_SunSpiderV8Kraken_20111115_0127_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
(r100248)
"WeakJSConst" at /Volumes/Data/pizlo/OpenSource/WebKitBuild/Release/jsc
(r100248)

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		   WeakJSConst 
				 
SunSpider:
   3d-cube				  8.9425+-0.0383    ?	 
8.9616+-0.0345	     ?
   3d-morph				 10.2570+-0.1317    ?	
10.2937+-0.1880       ?
   3d-raytrace				  9.2555+-0.1080	 
9.2050+-0.0553	     
   access-binary-trees			  1.9135+-0.0095    ?	 
1.9174+-0.0079	     ?
   access-fannkuch			  9.1043+-0.0106    ?	 
9.1074+-0.0059	     ?
   access-nbody 			  5.0819+-0.0142	 
5.0600+-0.0117	     
   access-nsieve			  3.7666+-0.0575    ?	 
3.7699+-0.0527	     ?
   bitops-3bit-bits-in-byte		  1.4877+-0.0113	 
1.4803+-0.0027	     
   bitops-bits-in-byte			  5.9165+-0.0190    ?	 
5.9399+-0.0100	     ?
   bitops-bitwise-and			  3.9737+-0.0067	 
3.9719+-0.0046	     
   bitops-nsieve-bits			  6.8549+-0.0430    ?	 
6.8720+-0.1110	     ?
   controlflow-recursive		  2.7898+-0.0428	 
2.7436+-0.0167	       might be 1.0168x faster
   crypto-aes				  8.5988+-0.0527    ?	 
8.6744+-0.0734	     ?
   crypto-md5				  3.0130+-0.0175    ?	 
3.0381+-0.0485	     ?
   crypto-sha1				  2.6243+-0.0170	 
2.6172+-0.0161	     
   date-format-tofte			 13.1531+-0.1519	
12.9377+-0.1004 	might be 1.0166x faster
   date-format-xparb			 12.5332+-0.2095    ^	
12.1236+-0.1408       ^ definitely 1.0338x faster
   math-cordic				  8.6686+-0.0594	 
8.6045+-0.0184	     
   math-partial-sums			 12.6790+-0.1089	
12.6032+-0.0355       
   math-spectral-norm			  3.1294+-0.0055    ?	 
3.1669+-0.0427	     ? might be 1.0120x slower
   regexp-dna				 16.6257+-0.1365	
16.4281+-0.1658 	might be 1.0120x faster
   string-base64			  4.8965+-0.1119	 
4.8018+-0.0518	       might be 1.0197x faster
   string-fasta 			  8.5147+-0.0180    ?	 
8.5332+-0.0255	     ?
   string-tagcloud			 16.2785+-0.2002	
16.1218+-0.0840       
   string-unpack-code			 28.1218+-0.0674	
27.9960+-0.0699       
   string-validate-input		  6.8594+-0.0535    ?	 
6.9221+-0.0654	     ?

   <arithmetic> *			  8.2708+-0.0360	 
8.2266+-0.0344	     
   <geometric>				  6.5372+-0.0279	 
6.5153+-0.0269	     
   <harmonic>				  5.0648+-0.0211	 
5.0543+-0.0191	     

					    TipOfTree		   WeakJSConst 
				 
V8:
   crypto				 94.9970+-0.5431    ^	
93.4692+-0.3338       ^ definitely 1.0163x faster
   deltablue				211.1545+-1.9324    ^  
204.2170+-0.6939       ^ definitely 1.0340x faster
   earley-boyer 			126.3291+-1.4626       
126.3195+-1.2244       
   raytrace				 75.6431+-0.4070	
75.5980+-0.1789       
   regexp				148.4928+-0.3598    ?  
149.1518+-0.6791       ?
   richards				170.8354+-1.4016    ^  
166.2814+-1.0149       ^ definitely 1.0274x faster
   splay				108.2884+-2.0837    ?  
109.2343+-3.2458       ?

   <arithmetic> 			133.6772+-0.4452    ^  
132.0387+-0.4015       ^ definitely 1.0124x faster
   <geometric> *			126.7711+-0.4663    ^  
125.6073+-0.4761       ^ definitely 1.0093x faster
   <harmonic>				120.2082+-0.4698       
119.3899+-0.5073       

					    TipOfTree		   WeakJSConst 
				 
Kraken:
   ai-astar				895.7836+-0.5789    ?  
895.9724+-0.3912       ?
   audio-beat-detection 		252.2690+-0.6783    ^  
248.8660+-0.4767       ^ definitely 1.0137x faster
   audio-dft				316.4345+-3.9175       
315.3966+-2.9579       
   audio-fft				164.5795+-0.6091    ^  
162.6430+-1.1441       ^ definitely 1.0119x faster
   audio-oscillator			352.6447+-1.1985       
351.2094+-1.3555       
   imaging-darkroom			407.3634+-9.4839       
402.3328+-5.4317	 might be 1.0125x faster
   imaging-desaturate			291.1928+-0.0429    ?  
291.3071+-0.2392       ?
   imaging-gaussian-blur		750.8642+-0.2608       
750.8458+-0.1683       
   json-parse-financial 		 88.7181+-0.8579    ^	
87.0559+-0.0599       ^ definitely 1.0191x faster
   json-stringify-tinderbox		 95.3538+-0.4301	
95.2726+-0.8561       
   stanford-crypto-aes			141.5629+-1.1342       
141.2541+-0.8239       
   stanford-crypto-ccm			135.5763+-0.4886    !  
137.1899+-0.9901       ! definitely 1.0119x slower
   stanford-crypto-pbkdf2		283.6872+-3.0294       
278.6610+-2.4037	 might be 1.0180x faster
   stanford-crypto-sha256-iterative	117.9124+-0.2105    ?  
117.9779+-0.3163       ?

   <arithmetic> *			306.7102+-0.8325       
305.4275+-0.5782       
   <geometric>				239.1825+-0.6048    ^  
237.9623+-0.4812       ^ definitely 1.0051x faster
   <harmonic>				192.8737+-0.4437    ^  
191.8515+-0.3680       ^ definitely 1.0053x faster

					    TipOfTree		   WeakJSConst 
				 
All benchmarks:
   <arithmetic> 			115.8452+-0.2534    ^  
115.1946+-0.1865       ^ definitely 1.0056x faster
   <geometric>				 29.7055+-0.0825	
29.5646+-0.0737       
   <harmonic>				  8.9280+-0.0366	 
8.9088+-0.0329	     

					    TipOfTree		   WeakJSConst 
				 
Geomean of preferred means:
   <scaled-result>			 68.5112+-0.1737    ^	
68.0838+-0.1387       ^ definitely 1.0063x faster


More information about the webkit-reviews mailing list