[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