RESOLVED FIXED 71978
Multiple CodeBlock should be able to share the same instruction stream without copying
https://bugs.webkit.org/show_bug.cgi?id=71978
Summary Multiple CodeBlock should be able to share the same instruction stream withou...
Filip Pizlo
Reported 2011-11-09 17:42:19 PST
Patch forthcoming.
Attachments
the patch (8.57 KB, patch)
2011-11-09 19:46 PST, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2011-11-09 19:46:03 PST
Created attachment 114423 [details] the patch This is performance-neutral. Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r99793) "IndirectInsts" at /Volumes/Data/pizlo/octonary/OpenSource/WebKitBuild/Release/jsc (r99793) 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 IndirectInsts SunSpider: 3d-cube 9.1951+-0.0298 ? 9.2127+-0.0350 ? 3d-morph 10.1246+-0.0311 ? 10.1445+-0.0849 ? 3d-raytrace 9.7039+-0.0634 ^ 9.5737+-0.0527 ^ definitely 1.0136x faster access-binary-trees 1.9889+-0.0085 1.9777+-0.0087 access-fannkuch 9.3314+-0.0087 9.3194+-0.0114 access-nbody 5.2766+-0.0053 ? 5.2810+-0.0100 ? access-nsieve 3.7737+-0.0150 ? 3.7801+-0.0368 ? bitops-3bit-bits-in-byte 1.5518+-0.0143 ? 1.5562+-0.0138 ? bitops-bits-in-byte 6.1937+-0.0236 6.1742+-0.0306 bitops-bitwise-and 3.9955+-0.0058 ? 4.0000+-0.0102 ? bitops-nsieve-bits 6.8383+-0.0437 6.8377+-0.0442 controlflow-recursive 2.8435+-0.0244 2.8108+-0.0220 might be 1.0116x faster crypto-aes 9.3641+-0.0693 9.2476+-0.0653 might be 1.0126x faster crypto-md5 3.2962+-0.0134 ? 3.2994+-0.0118 ? crypto-sha1 3.0110+-0.0174 3.0017+-0.0198 date-format-tofte 12.7474+-0.0831 ! 12.9870+-0.1199 ! definitely 1.0188x slower date-format-xparb 12.1318+-0.1432 11.9993+-0.1692 might be 1.0110x faster math-cordic 9.3523+-0.3521 9.3190+-0.3537 math-partial-sums 12.7053+-0.0681 12.6480+-0.0430 math-spectral-norm 3.3212+-0.0053 ? 3.3224+-0.0043 ? regexp-dna 16.5074+-0.1241 16.4670+-0.1331 string-base64 5.0440+-0.0464 5.0155+-0.0444 string-fasta 8.5750+-0.0239 8.5691+-0.0282 string-tagcloud 16.5642+-0.1475 16.3738+-0.1338 might be 1.0116x faster string-unpack-code 28.5391+-0.0661 28.3653+-0.1138 string-validate-input 6.8285+-0.0597 ? 6.8602+-0.0820 ? <arithmetic> * 8.4156+-0.0223 8.3901+-0.0378 <geometric> 6.7202+-0.0159 6.7043+-0.0270 <harmonic> 5.2664+-0.0144 5.2560+-0.0168 TipOfTree IndirectInsts V8: crypto 96.5999+-0.2638 ? 96.7124+-0.2736 ? deltablue 217.9875+-1.8447 217.1872+-1.2473 earley-boyer 131.0454+-1.0592 130.8345+-0.9018 raytrace 81.5071+-0.4068 ^ 80.1075+-0.4319 ^ definitely 1.0175x faster regexp 149.8364+-0.4580 149.7071+-0.5024 richards 171.2393+-0.3957 171.2251+-0.1753 splay 108.3594+-1.1757 107.0159+-1.2419 might be 1.0126x faster <arithmetic> 136.6536+-0.4019 136.1128+-0.3722 <geometric> * 129.9313+-0.3875 129.2864+-0.3757 <harmonic> 123.7063+-0.3872 122.9385+-0.3845 TipOfTree IndirectInsts Kraken: ai-astar 896.4506+-0.5545 ? 896.6738+-0.4127 ? audio-beat-detection 256.4160+-1.0621 ? 258.0401+-2.1476 ? audio-dft 314.3094+-3.1101 ? 314.4966+-2.7991 ? audio-fft 167.0367+-0.5979 166.6711+-0.1535 audio-oscillator 352.6297+-1.3368 ? 352.6809+-2.5037 ? imaging-darkroom 408.2399+-7.4025 402.0354+-6.0704 might be 1.0154x faster imaging-desaturate 291.2936+-0.1506 291.2023+-0.0605 imaging-gaussian-blur 750.9313+-0.3272 750.8042+-0.1390 json-parse-financial 86.9584+-0.1951 86.6275+-0.4613 json-stringify-tinderbox 96.3491+-0.2609 ^ 94.7587+-0.3953 ^ definitely 1.0168x faster stanford-crypto-aes 141.4608+-1.5955 ^ 139.2627+-0.5583 ^ definitely 1.0158x faster stanford-crypto-ccm 139.7091+-0.8157 ^ 137.7735+-0.5919 ^ definitely 1.0140x faster stanford-crypto-pbkdf2 282.4020+-2.4379 ! 290.3719+-4.6501 ! definitely 1.0282x slower stanford-crypto-sha256-iterative 118.3429+-0.3506 ? 119.2543+-0.5738 ? <arithmetic> * 307.3235+-0.5651 307.1895+-0.6239 <geometric> 239.9820+-0.4241 239.5484+-0.4258 <harmonic> 193.5401+-0.3173 ^ 192.7567+-0.2960 ^ definitely 1.0041x faster TipOfTree IndirectInsts All benchmarks: <arithmetic> 116.5513+-0.1557 116.4167+-0.1931 <geometric> 30.3039+-0.0469 30.2254+-0.0720 <harmonic> 9.2777+-0.0248 9.2587+-0.0290 TipOfTree IndirectInsts Geomean of preferred means: <scaled-result> 69.5230+-0.0962 69.3275+-0.1339
Oliver Hunt
Comment 2 2011-11-09 20:00:19 PST
Comment on attachment 114423 [details] the patch r=me
Filip Pizlo
Comment 3 2011-11-09 20:38:10 PST
Note You need to log in before you can comment on or make changes to this bug.