[webkit-reviews] review requested: [Bug 109247] JSC: Lower minimum PropertyTable size. : [Attachment 187219] Proposed patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Feb 7 19:16:51 PST 2013


Andreas Kling <akling at apple.com> has asked  for review:
Bug 109247: JSC: Lower minimum PropertyTable size.
https://bugs.webkit.org/show_bug.cgi?id=109247

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

------- Additional Comments from Andreas Kling <akling at apple.com>
3.32 MB of delicious savings on Membuster3. Looks mostly performance-neutral.

						     TipOfTree		      
MyChanges				      
SunSpider:
   3d-cube					   6.5232+-0.0793	    
6.4105+-0.0852		might be 1.0176x faster
   3d-morph					   5.9824+-0.0419     ?     
6.0351+-0.0399	      ?
   3d-raytrace					   7.0240+-0.0372     ?     
7.0819+-0.0669	      ?
   access-binary-trees				   1.2366+-0.0203	    
1.2335+-0.0166	      
   access-fannkuch				   4.8975+-0.0852     ?     
4.8979+-0.0784	      ?
   access-nbody 				   2.8287+-0.0309     ?     
2.8343+-0.0150	      ?
   access-nsieve				   3.0966+-0.0468	    
3.0958+-0.0553	      
   bitops-3bit-bits-in-byte			   1.3292+-0.0144	    
1.3240+-0.0111	      
   bitops-bits-in-byte				   1.8756+-0.0227	    
1.8342+-0.0465		might be 1.0226x faster
   bitops-bitwise-and				   1.7728+-0.0199	    
1.7710+-0.0259	      
   bitops-nsieve-bits				   2.6623+-0.0207     ?     
2.6625+-0.0185	      ?
   controlflow-recursive			   1.7381+-0.0093     ?     
1.7391+-0.0123	      ?
   crypto-aes					   5.2019+-0.0806     ?     
5.2510+-0.0927	      ?
   crypto-md5					   2.5237+-0.0421     ?     
2.5624+-0.0566	      ? might be 1.0153x slower
   crypto-sha1					   2.2067+-0.0511	    
2.2048+-0.0585	      
   date-format-tofte				  10.3054+-0.1227     ?    
10.3783+-0.1145        ?
   date-format-xparb				  10.1474+-0.1754	    
9.9178+-0.1214		might be 1.0232x faster
   math-cordic					   2.6842+-0.0479	    
2.6534+-0.0448		might be 1.0116x faster
   math-partial-sums				   6.4298+-0.0692	    
6.4233+-0.0658	      
   math-spectral-norm				   1.8516+-0.0156	    
1.8489+-0.0202	      
   regexp-dna					   6.7324+-0.0719	    
6.6581+-0.0687		might be 1.0111x faster
   string-base64				   3.4500+-0.0493     ?     
3.4816+-0.0485	      ?
   string-fasta 				   6.4741+-0.2022	    
6.4210+-0.1034	      
   string-tagcloud				   9.6362+-0.1075	    
9.6076+-0.1284	      
   string-unpack-code				  16.4044+-0.1022     ?    
16.4703+-0.1639        ?
   string-validate-input			   5.0306+-0.0749	    
5.0148+-0.0617	      

   <arithmetic> *				   5.0017+-0.0248	    
4.9928+-0.0248		might be 1.0018x faster
   <geometric>					   3.9581+-0.0192	    
3.9510+-0.0176		might be 1.0018x faster
   <harmonic>					   3.1640+-0.0161	    
3.1571+-0.0136		might be 1.0022x faster

						     TipOfTree		      
MyChanges				      
V8Spider:
   crypto					  49.9896+-0.3780	   
49.7222+-0.1601        
   deltablue					  80.3864+-0.1423     ?    
80.8041+-0.3026        ?
   earley-boyer 				  48.5154+-0.1355     ?    
48.5615+-0.1714        ?
   raytrace					  42.0675+-0.1009	   
42.0355+-0.1267        
   regexp					  62.4943+-0.2730     ?    
62.8436+-0.2902        ?
   richards					  70.2934+-0.1234	   
70.2698+-0.1106        
   splay					  35.0051+-0.1827     ?    
35.0658+-0.2012        ?

   <arithmetic> 				  55.5360+-0.0744     ?    
55.6146+-0.0655        ? might be 1.0014x slower
   <geometric> *				  53.5395+-0.0812     ?    
53.5931+-0.0663        ? might be 1.0010x slower
   <harmonic>					  51.6121+-0.0926     ?    
51.6473+-0.0801        ? might be 1.0007x slower

						     TipOfTree		      
MyChanges				      
Octane and V8v7:
   encrypt					  0.26286+-0.00138	   
0.26227+-0.00130       
   decrypt					  4.63459+-0.02254	   
4.63357+-0.02237       
   deltablue				 x2	  0.35285+-0.00091    ?    
0.35369+-0.00116       ?
   earley					  0.50558+-0.00180    !    
0.51759+-0.00374       ! definitely 1.0238x slower
   boyer					  6.90467+-0.00649    ?    
6.91600+-0.01284       ?
   raytrace				 x2	  2.90555+-0.02197	   
2.90074+-0.00476       
   regexp				 x2	 19.89171+-0.06903	  
19.87960+-0.12697	
   richards				 x2	  0.17566+-0.00022	   
0.17565+-0.00024       
   splay				 x2	  0.47916+-0.05630	   
0.47852+-0.05014       
   navier-stokes			 x2	  7.47918+-0.01652    ?    
7.48028+-0.01678       ?
   closure					  0.35727+-0.00188    ^    
0.35400+-0.00130       ^ definitely 1.0092x faster
   jquery					  5.02275+-0.05076    ?    
5.03589+-0.05604       ?
   gbemu				 x2	151.32584+-8.74632	 
149.18070+-8.26565	   might be 1.0144x faster
   box2d				 x2	 22.28401+-0.18492	  
22.27841+-0.14648	

V8v7:
   <arithmetic> 				  4.67974+-0.01019	   
4.67915+-0.01221	 might be 1.0001x faster
   <geometric> *				  1.50363+-0.02223    ?    
1.50600+-0.01876       ? might be 1.0016x slower
   <harmonic>					  0.56076+-0.00936    ?    
0.56202+-0.00845       ? might be 1.0023x slower

Octane including V8v7:
   <arithmetic> 				 19.43071+-0.79420	  
19.23521+-0.75290	  might be 1.0102x faster
   <geometric> *				  2.89043+-0.04338	   
2.88910+-0.03718	 might be 1.0005x faster
   <harmonic>					  0.69540+-0.01030    ?    
0.69626+-0.00928       ? might be 1.0012x slower

						     TipOfTree		      
MyChanges				      
Kraken:
   ai-astar					  251.762+-1.014	   
251.359+-1.159	       
   audio-beat-detection 			  148.991+-0.404      ?    
149.028+-0.451	       ?
   audio-dft					  222.378+-1.894      ?    
223.314+-2.539	       ?
   audio-fft					   86.048+-0.167      ?     
86.079+-0.261	      ?
   audio-oscillator				  152.660+-2.999      ?    
154.153+-4.246	       ?
   imaging-darkroom				  181.505+-0.424      ?    
181.902+-0.725	       ?
   imaging-desaturate				   88.975+-0.087	    
88.970+-0.113	      
   imaging-gaussian-blur			  251.438+-1.088      ?    
252.122+-1.318	       ?
   json-parse-financial 			   46.249+-0.110      !     
46.821+-0.309	      ! definitely 1.0124x slower
   json-stringify-tinderbox			   59.131+-0.199      ?     
62.720+-3.977	      ? might be 1.0607x slower
   stanford-crypto-aes				   59.006+-1.019	    
58.222+-0.345		might be 1.0135x faster
   stanford-crypto-ccm				   65.323+-2.715	    
65.286+-2.654	      
   stanford-crypto-pbkdf2			  167.144+-0.851      ^    
164.656+-0.660	       ^ definitely 1.0151x faster
   stanford-crypto-sha256-iterative		   72.995+-0.296      ?     
73.255+-0.387	      ?

   <arithmetic> *				  132.400+-0.501      ?    
132.706+-0.654	       ? might be 1.0023x slower
   <geometric>					  113.248+-0.574      ?    
113.729+-0.731	       ? might be 1.0042x slower
   <harmonic>					   96.806+-0.604      ?     
97.437+-0.812	      ? might be 1.0065x slower

						     TipOfTree		      
MyChanges				      
JSRegress:
   adapt-to-double-divide			  68.9176+-0.1338     ?    
68.9732+-0.1420        ?
   aliased-arguments-getbyval			   0.6537+-0.0052     ?     
0.6548+-0.0081	      ?
   allocate-big-object				   1.5945+-0.0552     ?     
1.5976+-0.0355	      ?
   arity-mismatch-inlining			   0.5013+-0.0055	    
0.4987+-0.0085	      
   array-access-polymorphic-structure		  37.1832+-0.1702     ?    
37.2117+-0.1194        ?
   array-with-double-add			   3.6008+-0.0548     ?     
3.6127+-0.0322	      ?
   array-with-double-increment			   2.7431+-0.0560	    
2.7250+-0.0259	      
   array-with-double-mul-add			   4.0733+-0.0664     ?     
4.1048+-0.0815	      ?
   array-with-double-sum			   3.8390+-0.0354	    
3.8015+-0.0415	      
   array-with-int32-add-sub			   6.0378+-0.0580	    
6.0088+-0.0492	      
   array-with-int32-or-double-sum		   3.8772+-0.0503	    
3.8672+-0.0709	      
   big-int-mul					   3.3378+-0.0315     ?     
3.3563+-0.0432	      ?
   boolean-test 				   2.6975+-0.0400	    
2.6973+-0.0257	      
   cast-int-to-double				   9.4354+-0.1045	    
9.3818+-0.0747	      
   cell-argument				  10.4471+-0.1032	   
10.3855+-0.0859        
   cfg-simplify 				   2.5333+-0.0324	    
2.4854+-0.0468		might be 1.0193x faster
   cmpeq-obj-to-obj-other			   7.7456+-0.0970     ?     
7.9194+-0.0815	      ? might be 1.0224x slower
   constant-test				   4.3555+-0.0521	    
4.3331+-0.0618	      
   direct-arguments-getbyval			   0.5908+-0.0073	    
0.5888+-0.0084	      
   double-pollution-getbyval			   8.3314+-0.0852     ?     
8.3770+-0.0755	      ?
   double-pollution-putbyoffset 		   3.3407+-0.0683     ?     
3.4011+-0.0457	      ? might be 1.0181x slower
   external-arguments-getbyval			   1.3251+-0.0058	    
1.3192+-0.0078	      
   external-arguments-putbyval			   2.1008+-0.0346	    
2.0552+-0.0236		might be 1.0222x faster
   Float32Array-matrix-mult			   8.3208+-0.0993	    
8.2007+-0.0888		might be 1.0147x faster
   fold-double-to-int				  13.9545+-0.2965	   
13.7218+-0.0867 	 might be 1.0170x faster
   function-dot-apply				   1.8851+-0.0156	    
1.8759+-0.0216	      
   function-test				   2.7157+-0.0439	    
2.7134+-0.0194	      
   get-by-id-chain-from-try-block		   4.2266+-0.0548     ?     
4.2810+-0.0459	      ? might be 1.0129x slower
   indexed-properties-in-objects		   2.8105+-0.0340	    
2.7921+-0.0475	      
   inline-arguments-access			   0.8447+-0.0057	    
0.8359+-0.0066		might be 1.0106x faster
   inline-arguments-local-escape		  12.9130+-0.1502	   
12.7362+-0.1594 	 might be 1.0139x faster
   inline-get-scoped-var			   4.4241+-0.1311	    
4.3286+-0.0644		might be 1.0220x faster
   inlined-put-by-id-transition 		   9.0127+-0.1790	    
8.9752+-0.1222	      
   int-or-other-abs-then-get-by-val		   5.5346+-0.0455	    
5.5133+-0.0566	      
   int-or-other-abs-zero-then-get-by-val	  23.4853+-0.0791	   
23.4196+-0.1038        
   int-or-other-add-then-get-by-val		   7.0670+-0.0506	    
7.0537+-0.0338	      
   int-or-other-add				   6.3711+-0.0620	    
6.3507+-0.0613	      
   int-or-other-div-then-get-by-val		   5.1073+-0.2867     ?     
5.1193+-0.2086	      ?
   int-or-other-max-then-get-by-val		   6.0304+-0.0379	    
6.0174+-0.0468	      
   int-or-other-min-then-get-by-val		   6.1293+-0.0359     ?     
6.2025+-0.0662	      ? might be 1.0119x slower
   int-or-other-mod-then-get-by-val		   4.6658+-0.0516     ?     
4.6978+-0.0561	      ?
   int-or-other-mul-then-get-by-val		   4.8973+-0.0640     ?     
4.9469+-0.0441	      ? might be 1.0101x slower
   int-or-other-neg-then-get-by-val		   4.9399+-0.0448     ?     
4.9464+-0.0397	      ?
   int-or-other-neg-zero-then-get-by-val	  22.0912+-0.1036	   
22.0184+-0.1328        
   int-or-other-sub-then-get-by-val		   6.7735+-0.0394     ?     
6.8126+-0.0323	      ?
   int-or-other-sub				   4.6176+-0.0662     ?     
4.6459+-0.0515	      ?
   int-overflow-local				 156.5646+-0.3865	  
156.4901+-0.4138	
   Int16Array-bubble-sort			  20.6989+-0.1271	   
20.6272+-0.0961        
   Int16Array-load-int-mul			   1.3119+-0.0054	    
1.3114+-0.0061	      
   Int8Array-load				   2.9765+-0.0163	    
2.9428+-0.0284		might be 1.0115x faster
   integer-divide				  10.8732+-0.2363     ?    
10.9194+-0.2393        ?
   integer-modulo				   1.3272+-0.0099     ?     
1.3330+-0.0075	      ?
   make-indexed-storage 			   2.3990+-0.0250	    
2.3700+-0.0165		might be 1.0122x faster
   method-on-number				 151.9784+-2.6162	  
148.7763+-3.3403	  might be 1.0215x faster
   new-array-buffer-dead			   2.6056+-0.0267     ?     
2.6162+-0.0268	      ?
   new-array-buffer-push			   6.5447+-0.0684	    
6.5347+-0.0718	      
   new-array-dead				  21.3988+-0.0830	   
21.3806+-0.1001        
   new-array-push				   4.3151+-0.0551	    
4.2947+-0.0892	      
   number-test					   2.6895+-0.0323	    
2.6875+-0.0267	      
   object-closure-call				   4.9638+-0.0659     ?     
4.9763+-0.0496	      ?
   object-test					   2.9205+-0.0315     ?     
2.9214+-0.0316	      ?
   poly-stricteq				  64.9531+-0.1238	   
64.8184+-0.0880        
   polymorphic-structure			  13.0054+-0.1273	   
12.9767+-0.0874        
   polyvariant-monomorphic-get-by-id		   7.2779+-0.0590	    
7.2744+-0.0871	      
   rare-osr-exit-on-local			 135.2544+-0.4847     ?   
135.4444+-0.5918	?
   register-pressure-from-osr			  21.0604+-0.0833	   
21.0443+-0.1012        
   simple-activation-demo			  24.3983+-0.1671	   
24.3394+-0.1087        
   slow-array-profile-convergence		   2.7931+-0.0321	    
2.7647+-0.0479		might be 1.0103x faster
   slow-convergence				  46.0576+-0.0979     ?    
46.1619+-0.1617        ?
   sparse-conditional				   0.8037+-0.0039     ?     
0.8046+-0.0098	      ?
   splice-to-remove				  33.8348+-0.9904	   
33.2008+-0.1158 	 might be 1.0191x faster
   string-hash					   1.8362+-0.0138     ?     
1.8411+-0.0243	      ?
   string-repeat-arith				  28.7953+-0.3785	   
28.4592+-0.1016 	 might be 1.0118x faster
   string-sub					  57.8441+-0.8000     ?    
58.8389+-0.5789        ? might be 1.0172x slower
   string-test					   2.6216+-0.0304     ?     
2.6538+-0.0216	      ? might be 1.0123x slower
   structure-hoist-over-transitions		   2.0342+-0.0432     ^     
1.9690+-0.0199	      ^ definitely 1.0331x faster
   tear-off-arguments-simple			   1.2095+-0.0147     ?     
1.2193+-0.0120	      ?
   tear-off-arguments				   2.2551+-0.0175     ?     
2.2644+-0.0282	      ?
   temporal-structure				  13.6797+-0.1486	   
13.5966+-0.0970        
   to-int32-boolean				  16.6076+-0.1337	   
16.5723+-0.1336        
   undefined-test				   2.7545+-0.0292	    
2.7331+-0.0298	      

   <arithmetic> 				  15.1941+-0.0400	   
15.1447+-0.0459 	 might be 1.0033x faster
   <geometric> *				   5.9731+-0.0238	    
5.9607+-0.0174		might be 1.0021x faster
   <harmonic>					   3.1804+-0.0127	    
3.1728+-0.0099		might be 1.0024x faster

						     TipOfTree		      
MyChanges				      
All benchmarks:
   <arithmetic> 				  26.8707+-0.1753	   
26.8460+-0.1764 	 might be 1.0009x faster
   <geometric>					   7.2894+-0.0384	    
7.2817+-0.0332		might be 1.0010x faster
   <harmonic>					   2.2863+-0.0199	    
2.2850+-0.0177		might be 1.0006x faster

						     TipOfTree		      
MyChanges				      
Geomean of preferred means:
   <scaled-result>				  14.3666+-0.0744	   
14.3639+-0.0716 	 might be 1.0002x faster


More information about the webkit-reviews mailing list