RESOLVED FIXED 70675
DFG should inline constructors
https://bugs.webkit.org/show_bug.cgi?id=70675
Summary DFG should inline constructors
Filip Pizlo
Reported 2011-10-22 03:44:15 PDT
patch forthcoming
Attachments
the patch (25.84 KB, patch)
2011-10-22 03:54 PDT, Filip Pizlo
gustavo.noronha: commit-queue-
the patch (26.00 KB, patch)
2011-10-22 05:13 PDT, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2011-10-22 03:54:59 PDT
Created attachment 112084 [details] the patch 4% speed-up according to V8 harness: [pizlo@minime benchmarks] /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc run.js Richards: 8780 DeltaBlue: 6195 Crypto: 15235 RayTrace: 8287 EarleyBoyer: 10410 RegExp: 2151 Splay: 6976 ---- Score (version 6): 7269 [pizlo@minime benchmarks] /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc run.js Richards: 10047 DeltaBlue: 6519 Crypto: 15977 RayTrace: 8753 EarleyBoyer: 10705 RegExp: 2181 Splay: 6675 ---- Score (version 6): 7572 [pizlo@minime benchmarks] irb >> 7572/7269.0 => 1.04168386297978 1% speed-up on V8 on my harness, neutral on other benchmarks: Benchmark report for SunSpider, V8, and Kraken. VMs tested: "TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc "ConsInline" at /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc 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 ConsInline SunSpider: 3d-cube 7.2502+-0.1566 ? 7.4241+-0.4383 ? might be 1.0240x slower 3d-morph 7.5676+-0.0866 ? 8.4787+-0.9762 ? might be 1.1204x slower 3d-raytrace 7.5516+-0.2596 7.4375+-0.1591 might be 1.0153x faster access-binary-trees 1.7166+-0.0328 ^ 1.6273+-0.0497 ^ definitely 1.0548x faster access-fannkuch 6.3365+-0.0832 ? 6.3654+-0.1030 ? access-nbody 3.5732+-0.0582 ! 3.7319+-0.0873 ! definitely 1.0444x slower access-nsieve 2.5630+-0.0862 ? 2.6547+-0.0490 ? might be 1.0358x slower bitops-3bit-bits-in-byte 1.2803+-0.0286 ? 1.2819+-0.0207 ? bitops-bits-in-byte 2.3518+-0.0529 ? 2.4004+-0.0596 ? might be 1.0207x slower bitops-bitwise-and 3.2922+-0.1064 ? 3.3937+-0.1164 ? might be 1.0308x slower bitops-nsieve-bits 5.3601+-0.1407 5.2309+-0.0517 might be 1.0247x faster controlflow-recursive 2.0984+-0.0529 ? 2.1200+-0.0335 ? might be 1.0103x slower crypto-aes 7.3575+-0.2023 ? 7.3963+-0.2192 ? crypto-md5 2.7472+-0.0559 2.7357+-0.0696 crypto-sha1 2.4900+-0.0766 ? 2.4985+-0.0680 ? date-format-tofte 9.8812+-0.2257 ? 9.8824+-0.2363 ? date-format-xparb 9.5621+-0.1806 ^ 8.7831+-0.1166 ^ definitely 1.0887x faster math-cordic 6.5373+-0.1107 6.4235+-0.1160 might be 1.0177x faster math-partial-sums 7.5956+-0.1112 ? 7.6460+-0.1109 ? math-spectral-norm 2.5853+-0.0535 ? 2.6329+-0.0769 ? might be 1.0184x slower regexp-dna 11.4690+-0.1394 11.4664+-0.1727 string-base64 4.3160+-0.1102 ? 4.3448+-0.0889 ? string-fasta 6.2094+-0.0823 ? 6.2978+-0.0990 ? might be 1.0142x slower string-tagcloud 11.3336+-0.1578 ? 11.5913+-0.2544 ? might be 1.0227x slower string-unpack-code 20.3200+-0.1921 20.1866+-0.2716 string-validate-input 5.1760+-0.1041 ? 5.1819+-0.1007 ? <arithmetic> * 6.0970+-0.0179 ? 6.1236+-0.0458 ? <geometric> 4.9267+-0.0190 ? 4.9532+-0.0305 ? <harmonic> 3.9497+-0.0254 ? 3.9661+-0.0276 ? TipOfTree ConsInline V8: crypto 73.9880+-0.2918 73.7529+-0.5499 deltablue 173.8198+-1.3253 ! 179.6263+-2.7360 ! definitely 1.0334x slower earley-boyer 93.0532+-1.8014 91.2528+-0.7812 might be 1.0197x faster raytrace 61.3150+-0.5954 ! 62.7879+-0.5693 ! definitely 1.0240x slower regexp 104.4297+-0.5066 103.7345+-0.3769 richards 142.0401+-0.5765 ^ 127.8421+-0.5193 ^ definitely 1.1111x faster splay 93.9640+-0.6277 ? 94.5348+-0.4781 ? <arithmetic> 106.0871+-0.4671 ^ 104.7902+-0.4849 ^ definitely 1.0124x faster <geometric> * 100.3137+-0.4654 ^ 99.2872+-0.3231 ^ definitely 1.0103x faster <harmonic> 95.1158+-0.4689 94.5168+-0.2367 TipOfTree ConsInline Kraken: ai-astar 497.7574+-3.5969 ? 498.2722+-3.0312 ? audio-beat-detection 191.8794+-0.5609 191.1399+-1.0241 audio-dft 266.4364+-1.5335 ? 266.9498+-1.4698 ? audio-fft 124.2544+-1.3752 ? 125.3001+-1.2179 ? audio-oscillator 253.1079+-1.1617 252.1611+-1.5947 imaging-darkroom 399.4923+-2.0173 ? 401.5801+-3.3485 ? imaging-desaturate 219.5839+-0.7144 218.3193+-0.8419 imaging-gaussian-blur 553.5648+-2.3533 ? 555.3602+-2.6159 ? json-parse-financial 58.0299+-0.2573 ? 58.1449+-0.3121 ? json-stringify-tinderbox 67.7843+-0.3542 ! 69.1365+-0.3027 ! definitely 1.0199x slower stanford-crypto-aes 131.0778+-1.4147 ? 132.4949+-1.5185 ? might be 1.0108x slower stanford-crypto-ccm 103.1864+-0.9377 ^ 100.0750+-0.8265 ^ definitely 1.0311x faster stanford-crypto-pbkdf2 194.1026+-2.9607 ? 194.6423+-1.1617 ? stanford-crypto-sha256-iterative 71.1651+-0.2844 ? 71.2943+-0.2904 ? <arithmetic> * 223.6730+-0.2954 ? 223.9193+-0.4074 ? <geometric> 176.5280+-0.2268 ? 176.6925+-0.2631 ? <harmonic> 139.5016+-0.1914 ? 139.7505+-0.1984 ? TipOfTree ConsInline All benchmarks: <arithmetic> 85.7990+-0.1153 85.6940+-0.1770 <geometric> 22.4107+-0.0641 ? 22.4489+-0.0838 ? <harmonic> 6.9560+-0.0440 ? 6.9838+-0.0474 ? TipOfTree ConsInline Geomean of preferred means: <scaled-result> 51.5260+-0.1013 51.4428+-0.1681
Collabora GTK+ EWS bot
Comment 2 2011-10-22 04:09:17 PDT
Filip Pizlo
Comment 3 2011-10-22 05:13:10 PDT
Created attachment 112087 [details] the patch All tests pass. Attempting to fix GTK build.
Oliver Hunt
Comment 4 2011-10-22 11:29:32 PDT
Comment on attachment 112087 [details] the patch Can you add test cases for the fixed bugs?
Filip Pizlo
Comment 5 2011-10-23 20:31:51 PDT
(In reply to comment #4) > (From update of attachment 112087 [details]) > Can you add test cases for the fixed bugs? Yup.
Filip Pizlo
Comment 6 2011-10-23 20:57:45 PDT
Note You need to log in before you can comment on or make changes to this bug.