WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
71619
Value profiling should just use two buckets
https://bugs.webkit.org/show_bug.cgi?id=71619
Summary
Value profiling should just use two buckets
Filip Pizlo
Reported
2011-11-05 18:13:58 PDT
I did some benchmarking and found that the use of 8+1 buckets (8 for old JIT profiling and 1 for OSR exit profiling) is more than we need. We get just as good if not better performance from just using 1+1 (one each for old JIT profiling and OSR exit profiling). This is great because it simplifies the value profiling path (fewer instructions, faster), saves a register in the old JIT, and reduces space usage. Generating benchmark report at TipOfTree_OneBucketVP_SunSpiderV8Kraken_20111105_1801_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 (
r99229
) "OneBucketVP" at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (
r99229
) 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 OneBucketVP SunSpider: 3d-cube 9.4444+-0.0323 ^ 9.3092+-0.0279 ^ definitely 1.0145x faster 3d-morph 10.4033+-0.1709 ^ 10.1059+-0.0307 ^ definitely 1.0294x faster 3d-raytrace 9.7956+-0.1117 ? 9.8407+-0.0569 ? access-binary-trees 2.0270+-0.0109 2.0124+-0.0068 access-fannkuch 9.4557+-0.0136 ^ 9.4174+-0.0093 ^ definitely 1.0041x faster access-nbody 5.4512+-0.0044 5.4465+-0.0123 access-nsieve 3.7995+-0.0026 ^ 3.7813+-0.0045 ^ definitely 1.0048x faster bitops-3bit-bits-in-byte 1.5501+-0.0168 1.5398+-0.0160 bitops-bits-in-byte 6.0319+-0.0234 ^ 5.9728+-0.0134 ^ definitely 1.0099x faster bitops-bitwise-and 4.1640+-0.0738 ^ 3.9988+-0.0064 ^ definitely 1.0413x faster bitops-nsieve-bits 6.8094+-0.0399 ? 6.8257+-0.0439 ? controlflow-recursive 2.8154+-0.0170 ? 2.8346+-0.0173 ? crypto-aes 9.2499+-0.0839 ! 9.7937+-0.0764 ! definitely 1.0588x slower crypto-md5 3.4338+-0.0093 3.4084+-0.0318 crypto-sha1 3.1502+-0.0155 3.1463+-0.0220 date-format-tofte 13.0974+-0.1241 ? 13.1928+-0.0860 ? date-format-xparb 12.3853+-0.0783 ? 12.8073+-0.3730 ? might be 1.0341x slower math-cordic 8.7652+-0.0334 ? 8.8017+-0.0918 ? math-partial-sums 12.8008+-0.0415 12.8001+-0.0514 math-spectral-norm 3.4674+-0.0090 ^ 3.4443+-0.0057 ^ definitely 1.0067x faster regexp-dna 16.5719+-0.1238 16.4972+-0.1279 string-base64 5.2041+-0.0308 5.1135+-0.0703 might be 1.0177x faster string-fasta 8.7949+-0.1948 ^ 8.5718+-0.0201 ^ definitely 1.0260x faster string-tagcloud 15.8784+-0.1283 ? 15.9105+-0.1423 ? string-unpack-code 28.3148+-0.0696 28.2295+-0.1026 string-validate-input 7.0701+-0.0848 ^ 6.8534+-0.0518 ^ definitely 1.0316x faster <arithmetic> * 8.4589+-0.0368 8.4483+-0.0276 <geometric> 6.7950+-0.0275 6.7697+-0.0197 <harmonic> 5.3454+-0.0204 5.3145+-0.0154 TipOfTree OneBucketVP V8: crypto 97.7543+-0.3511 97.3937+-0.2756 deltablue 219.6112+-1.8180 219.1773+-2.4201 earley-boyer 133.5170+-0.2285 ^ 131.1894+-1.3782 ^ definitely 1.0177x faster raytrace 84.3367+-0.6111 ? 85.3164+-0.8042 ? might be 1.0116x slower regexp 149.4763+-0.2715 ! 151.5035+-0.3650 ! definitely 1.0136x slower richards 174.3946+-0.7936 ^ 172.0640+-1.1799 ^ definitely 1.0135x faster splay 107.4827+-1.1809 ? 108.2485+-1.3268 ? <arithmetic> 138.0818+-0.3135 137.8418+-0.4181 <geometric> * 131.4217+-0.3243 131.3308+-0.4165 <harmonic> 125.3079+-0.3596 ? 125.3763+-0.4490 ? TipOfTree OneBucketVP Kraken: ai-astar 896.9548+-1.7426 895.8417+-0.6878 audio-beat-detection 257.9389+-2.3795 255.1806+-0.9593 might be 1.0108x faster audio-dft 314.7822+-2.7349 ? 314.9732+-2.7514 ? audio-fft 167.5004+-0.9682 167.0070+-0.4499 audio-oscillator 351.4115+-1.8714 ? 351.7607+-1.1919 ? imaging-darkroom 402.4379+-5.3544 ? 405.1164+-5.7681 ? imaging-desaturate 291.2985+-0.0342 291.2460+-0.0585 imaging-gaussian-blur 751.0062+-0.2454 ? 751.1033+-0.2355 ? json-parse-financial 87.5892+-0.2083 ^ 86.4003+-0.1607 ^ definitely 1.0138x faster json-stringify-tinderbox 95.5809+-0.4278 ? 96.0481+-0.5510 ? stanford-crypto-aes 140.1788+-0.6412 ^ 138.8752+-0.5939 ^ definitely 1.0094x faster stanford-crypto-ccm 139.2021+-0.8158 ^ 136.8842+-0.5039 ^ definitely 1.0169x faster stanford-crypto-pbkdf2 290.6461+-2.2840 287.1813+-2.2450 might be 1.0121x faster stanford-crypto-sha256-iterative 118.2348+-0.1568 ? 118.3057+-0.3454 ? <arithmetic> * 307.4830+-0.4522 306.8517+-0.6122 <geometric> 240.1128+-0.3429 ^ 239.2066+-0.4708 ^ definitely 1.0038x faster <harmonic> 193.5480+-0.2692 ^ 192.5621+-0.3340 ^ definitely 1.0051x faster TipOfTree OneBucketVP All benchmarks: <arithmetic> 116.8355+-0.1279 116.6058+-0.1822 <geometric> 30.5466+-0.0760 30.4462+-0.0609 <harmonic> 9.4148+-0.0352 9.3611+-0.0267 TipOfTree OneBucketVP Geomean of preferred means: <scaled-result> 69.9195+-0.1277 69.8263+-0.1330
Attachments
the patch
(7.46 KB, patch)
2011-11-05 18:22 PDT
,
Filip Pizlo
barraclough
: review+
Details
Formatted Diff
Diff
the patch
(7.61 KB, patch)
2011-11-06 01:43 PST
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2011-11-05 18:22:33 PDT
Created
attachment 113775
[details]
the patch
Filip Pizlo
Comment 2
2011-11-06 01:43:27 PST
Created
attachment 113779
[details]
the patch Trying to fix Mac build.
Filip Pizlo
Comment 3
2011-11-06 03:55:28 PST
Landed in
http://trac.webkit.org/changeset/99375
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug