[Webkit-unassigned] [Bug 74170] DFG's interpretation of rare case profiles should be frequency-based not count-based
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Dec 8 23:45:20 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=74170
--- Comment #1 from Filip Pizlo <fpizlo at apple.com> 2011-12-08 23:45:21 PST ---
The easiest way to get a rate rather than an absolute count is to count the number of times each basic block executes. This requires counters only at jump targets, and immediately following branches. I implemented this, and it's really cheap - I can't see any performance degradation.
Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).
VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r102385)
"CountBB" at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc (r102385)
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 CountBB
SunSpider:
3d-cube 8.8183+-0.0418 ? 8.8363+-0.0535 ?
3d-morph 10.1214+-0.0387 ? 10.1393+-0.0775 ?
3d-raytrace 9.3476+-0.1096 9.2083+-0.0700 might be 1.0151x faster
access-binary-trees 1.9328+-0.0373 ? 1.9617+-0.0373 ? might be 1.0150x slower
access-fannkuch 8.9966+-0.0166 ! 9.1016+-0.0566 ! definitely 1.0117x slower
access-nbody 4.7551+-0.0418 4.7248+-0.0083
access-nsieve 3.7196+-0.0121 ? 3.7310+-0.0119 ?
bitops-3bit-bits-in-byte 1.5102+-0.0225 ? 1.5232+-0.0294 ?
bitops-bits-in-byte 5.9291+-0.0192 ! 5.9748+-0.0233 ! definitely 1.0077x slower
bitops-bitwise-and 3.9838+-0.0191 ? 4.0024+-0.0467 ?
bitops-nsieve-bits 6.8696+-0.0404 6.8539+-0.0441
controlflow-recursive 2.7657+-0.0195 ? 2.7738+-0.0122 ?
crypto-aes 8.7318+-0.0918 8.7155+-0.0921
crypto-md5 2.9179+-0.0189 ? 2.9627+-0.0286 ? might be 1.0154x slower
crypto-sha1 2.5999+-0.0151 ? 2.6182+-0.0207 ?
date-format-tofte 13.3252+-0.1260 13.1250+-0.1467 might be 1.0153x faster
date-format-xparb 11.9514+-0.0594 ? 12.0433+-0.0878 ?
math-cordic 8.6429+-0.0445 ? 8.6963+-0.0691 ?
math-partial-sums 12.6434+-0.0336 12.6069+-0.0228
math-spectral-norm 3.1378+-0.0201 ? 3.1393+-0.0184 ?
regexp-dna 15.8619+-0.1243 15.7403+-0.0863
string-base64 4.7747+-0.0419 ? 4.8000+-0.0489 ?
string-fasta 8.8949+-0.0507 8.8560+-0.0287
string-tagcloud 15.0438+-0.0765 ? 15.0568+-0.0822 ?
string-unpack-code 25.9398+-0.0298 ! 26.5210+-0.2463 ! definitely 1.0224x slower
string-validate-input 6.7550+-0.0779 ? 6.7989+-0.0832 ?
<arithmetic> * 8.0758+-0.0236 ? 8.0966+-0.0343 ? might be 1.0026x slower
<geometric> 6.4493+-0.0230 ? 6.4674+-0.0271 ? might be 1.0028x slower
<harmonic> 5.0302+-0.0242 ? 5.0551+-0.0246 ? might be 1.0050x slower
TipOfTree CountBB
V8:
crypto 92.3103+-0.3728 ? 92.5307+-0.4690 ?
deltablue 204.9305+-1.6018 204.4549+-1.6621
earley-boyer 120.8883+-1.4748 ? 121.7168+-1.2146 ?
raytrace 69.9284+-0.2411 69.8041+-0.2873
regexp 149.0791+-0.7718 148.3416+-0.5401
richards 171.1122+-1.6146 ^ 167.8128+-1.0429 ^ definitely 1.0197x faster
splay 107.8526+-1.1289 ? 108.0241+-1.2968 ?
<arithmetic> 130.8716+-0.5034 130.3836+-0.3249 might be 1.0037x faster
<geometric> * 123.5641+-0.4652 123.2515+-0.2999 might be 1.0025x faster
<harmonic> 116.4428+-0.4195 116.2714+-0.2818 might be 1.0015x faster
TipOfTree CountBB
Kraken:
ai-astar 900.4571+-1.3743 ? 900.4581+-0.8574 ?
audio-beat-detection 247.8751+-0.5911 ? 248.3219+-0.8955 ?
audio-dft 320.1299+-3.1069 319.5416+-3.4951
audio-fft 160.9397+-0.4120 160.5048+-0.2567
audio-oscillator 343.0422+-7.1926 ? 352.6219+-6.6597 ? might be 1.0279x slower
imaging-darkroom 403.1950+-5.5486 ? 404.6109+-5.9675 ?
imaging-desaturate 288.5352+-0.3384 ? 288.7382+-0.3635 ?
imaging-gaussian-blur 740.5361+-2.3800 738.8561+-0.5093
json-parse-financial 86.2767+-0.2412 ! 87.2189+-0.2078 ! definitely 1.0109x slower
json-stringify-tinderbox 99.1519+-0.2664 99.1123+-0.2535
stanford-crypto-aes 142.6808+-0.6472 ? 145.4456+-3.9557 ? might be 1.0194x slower
stanford-crypto-ccm 138.1201+-1.0647 137.1065+-1.0269
stanford-crypto-pbkdf2 281.7826+-2.0743 ? 283.1335+-2.1555 ?
stanford-crypto-sha256-iterative 114.8826+-0.2872 ? 115.0961+-0.5195 ?
<arithmetic> * 304.8289+-0.5537 ? 305.7690+-0.7952 ? might be 1.0031x slower
<geometric> 237.8354+-0.5344 ? 238.7712+-0.7594 ? might be 1.0039x slower
<harmonic> 192.1020+-0.4203 ? 192.8865+-0.6767 ? might be 1.0041x slower
TipOfTree CountBB
All benchmarks:
<arithmetic> 114.7591+-0.2254 ? 114.9779+-0.2364 ? might be 1.0019x slower
<geometric> 29.3225+-0.0838 ? 29.3910+-0.0855 ? might be 1.0023x slower
<harmonic> 8.8650+-0.0420 ? 8.9081+-0.0426 ? might be 1.0049x slower
TipOfTree CountBB
Geomean of preferred means:
<scaled-result> 67.2527+-0.1669 ? 67.3225+-0.1479 ? might be 1.0010x slower
--
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