[Webkit-unassigned] [Bug 71619] New: Value profiling should just use two buckets
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Nov 5 18:13:58 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=71619
Summary: Value profiling should just use two buckets
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: fpizlo at apple.com
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
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list