[Webkit-unassigned] [Bug 199650] Keyword lookup can use memcmp to get around unaligned load undefined behavior
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jul 12 09:21:22 PDT 2019
https://bugs.webkit.org/show_bug.cgi?id=199650
--- Comment #3 from Saagar Jha <saagarjha at apple.com> ---
Here's the results of running JetStream2 on my computer; I'm not seeing a huge performance difference (as expected: generated code is pretty much functionally identical until we go past 16-byte comparisons, at which point the memcmp method starts emitting SSE vectorized instructions). It's possible that there's some difference that's statistically significant in here, but I didn't find anyâ¦
|-------------------------------------|------------------------------------|
| Old | New |
|-------------------------------------| -----------------------------------|
| Starting JetStream2 | Starting JetStream2 |
| Running WSL: | Running WSL: |
| Stdlib: 0.898 | Stdlib: 0.918 |
| Tests: 0.332 | Tests: 0.338 |
| Score: 0.546 | Score: 0.557 |
| Wall time: 0:20.659 | Wall time: 0:20.270 |
| Running UniPoker: | Running UniPoker: |
| Startup: 106.383 | Startup: 128.205 |
| Worst Case: 162.602 | Worst Case: 165.289 |
| Average: 223.265 | Average: 240.307 |
| Score: 156.894 | Score: 172.044 |
| Wall time: 0:02.716 | Wall time: 0:02.518 |
| Running uglify-js-wtb: | Running uglify-js-wtb: |
| Startup: 6.766 | Startup: 6.460 |
| Worst Case: 11.494 | Worst Case: 12.658 |
| Average: 12.415 | Average: 13.459 |
| Score: 9.884 | Score: 10.325 |
| Wall time: 0:03.334 | Wall time: 0:03.085 |
| Running typescript: | Running typescript: |
| Startup: 5.107 | Startup: 5.285 |
| Worst Case: 8.826 | Worst Case: 9.217 |
| Average: 10.779 | Average: 11.182 |
| Score: 7.862 | Score: 8.167 |
| Wall time: 0:07.512 | Wall time: 0:07.245 |
| Running tsf-wasm: | Running tsf-wasm: |
| Startup: 73.529 | Startup: 79.365 |
| Run time: 1.652 | Run time: 1.653 |
| Score: 11.021 | Score: 11.455 |
| Running tagcloud-SP: | Running tagcloud-SP: |
| Startup: 131.579 | Startup: 135.135 |
| Worst Case: 155.039 | Worst Case: 138.889 |
| Average: 177.294 | Average: 179.541 |
| Score: 153.500 | Score: 149.922 |
| Wall time: 0:03.396 | Wall time: 0:03.353 |
| Running string-unpack-code-SP: | Running string-unpack-code-SP: |
| Startup: 192.308 | Startup: 200 |
| Worst Case: 210.526 | Worst Case: 140.845 |
| Average: 232.422 | Average: 228.846 |
| Score: 211.119 | Score: 186.111 |
| Wall time: 0:02.589 | Wall time: 0:02.626 |
| Running stanford-crypto-sha256: | Running stanford-crypto-sha256: |
| Startup: 200 | Startup: 238.095 |
| Worst Case: 350.877 | Worst Case: 333.333 |
| Average: 403.390 | Average: 401.214 |
| Score: 304.768 | Score: 316.958 |
| Wall time: 0:01.503 | Wall time: 0:01.507 |
| Running stanford-crypto-pbkdf2: | Running stanford-crypto-pbkdf2: |
| Startup: 217.391 | Startup: 238.095 |
| Worst Case: 208.333 | Worst Case: 204.082 |
| Average: 295.873 | Average: 275.846 |
| Score: 237.521 | Score: 237.542 |
| Wall time: 0:02.035 | Wall time: 0:02.180 |
| Running stanford-crypto-aes: | Running stanford-crypto-aes: |
| Startup: 147.059 | Startup: 161.290 |
| Worst Case: 204.082 | Worst Case: 273.973 |
| Average: 307.653 | Average: 321.274 |
| Score: 209.790 | Score: 242.138 |
| Wall time: 0:01.990 | Wall time: 0:01.900 |
| Running splay: | Running splay: |
| Startup: 208.333 | Startup: 217.391 |
| Worst Case: 140.845 | Worst Case: 119.048 |
| Average: 318.352 | Average: 328.366 |
| Score: 210.605 | Score: 204.068 |
| Wall time: 0:01.925 | Wall time: 0:01.870 |
| Running richards-wasm: | Running richards-wasm: |
| Startup: 277.778 | Startup: 238.095 |
| Run time: 3.794 | Run time: 4.013 |
| Score: 32.462 | Score: 30.910 |
| Running richards: | Running richards: |
| Startup: 238.095 | Startup: 238.095 |
| Worst Case: 625 | Worst Case: 625 |
| Average: 683.908 | Average: 697.538 |
| Score: 466.885 | Score: 469.966 |
| Wall time: 0:00.892 | Wall time: 0:00.875 |
| Running regexp: | Running regexp: |
| Startup: 200 | Startup: 178.571 |
| Worst Case: 176.991 | Worst Case: 168.067 |
| Average: 211.443 | Average: 217.949 |
| Score: 195.610 | Score: 187.018 |
| Wall time: 0:02.893 | Wall time: 0:02.815 |
| Running regex-dna-SP: | Running regex-dna-SP: |
| Startup: 294.118 | Startup: 263.158 |
| Worst Case: 250 | Worst Case: 256.410 |
| Average: 288.975 | Average: 299.597 |
| Score: 276.975 | Score: 272.414 |
| Wall time: 0:02.078 | Wall time: 0:02.007 |
| Running raytrace: | Running raytrace: |
| Startup: 151.515 | Startup: 147.059 |
| Worst Case: 312.500 | Worst Case: 317.460 |
| Average: 690.255 | Average: 704.976 |
| Score: 319.722 | Score: 320.468 |
| Wall time: 0:00.897 | Wall time: 0:00.880 |
| Running quicksort-wasm: | Running quicksort-wasm: |
| Startup: 357.143 | Startup: 333.333 |
| Run time: 125 | Run time: 142.857 |
| Score: 211.289 | Score: 218.218 |
| Running prepack-wtb: | Running prepack-wtb: |
| Startup: 10.965 | Startup: 10.893 |
| Worst Case: 19.763 | Worst Case: 16.234 |
| Average: 25.126 | Average: 25.641 |
| Score: 17.592 | Score: 16.551 |
| Wall time: 0:02.118 | Wall time: 0:02.049 |
| Running pdfjs: | Running pdfjs: |
| Startup: 54.348 | Startup: 53.763 |
| Worst Case: 87.336 | Worst Case: 90.090 |
| Average: 139.312 | Average: 139.803 |
| Score: 87.121 | Score: 87.813 |
| Wall time: 0:04.453 | Wall time: 0:04.439 |
| Running OfflineAssembler: | Running OfflineAssembler: |
| Startup: 38.168 | Startup: 38.760 |
| Worst Case: 67.568 | Worst Case: 68.259 |
| Average: 79.525 | Average: 84.800 |
| Score: 58.972 | Score: 60.764 |
| Wall time: 0:05.129 | Wall time: 0:04.817 |
| Running octane-zlib: | Running octane-zlib: |
| Startup: 7.680 | Startup: 7.886 |
| Worst Case: 20.964 | Worst Case: 21.097 |
| Average: 21.598 | Average: 21.558 |
| Score: 15.151 | Score: 15.308 |
| Wall time: 0:03.893 | Wall time: 0:03.883 |
| Running octane-code-load: | Running octane-code-load: |
| Startup: 384.615 | Startup: 384.615 |
| Worst Case: 444.444 | Worst Case: 454.545 |
| Average: 500 | Average: 515.598 |
| Score: 440.492 | Score: 448.372 |
| Wall time: 0:01.204 | Wall time: 0:01.169 |
| Running navier-stokes: | Running navier-stokes: |
| Startup: 312.500 | Startup: 312.500 |
| Worst Case: 666.667 | Worst Case: 666.667 |
| Average: 829.847 | Average: 828.691 |
| Score: 557.082 | Score: 556.823 |
| Wall time: 0:00.736 | Wall time: 0:00.737 |
| Running n-body-SP: | Running n-body-SP: |
| Startup: 312.500 | Startup: 312.500 |
| Worst Case: 408.163 | Worst Case: 408.163 |
| Average: 448.380 | Average: 456.639 |
| Score: 385.280 | Score: 387.631 |
| Wall time: 0:01.344 | Wall time: 0:01.321 |
| Running multi-inspector-code-load: | Running multi-inspector-code-load: |
| Startup: 128.205 | Startup: 131.579 |
| Worst Case: 121.212 | Worst Case: 109.890 |
| Average: 384.367 | Average: 384.615 |
| Score: 181.440 | Score: 177.170 |
| Wall time: 0:01.656 | Wall time: 0:01.645 |
| Running ML: | Running ML: |
| Startup: 43.103 | Startup: 43.860 |
| Worst Case: 51.414 | Worst Case: 51.948 |
| Average: 70.055 | Average: 71.619 |
| Score: 53.746 | Score: 54.646 |
| Wall time: 0:04.341 | Wall time: 0:04.248 |
| Running mandreel: | Running mandreel: |
| Startup: 29.762 | Startup: 31.056 |
| Worst Case: 85.106 | Worst Case: 84.034 |
| Average: 105.728 | Average: 108.190 |
| Score: 64.457 | Score: 65.604 |
| Wall time: 0:04.354 | Wall time: 0:04.251 |
| Running lebab-wtb: | Running lebab-wtb: |
| Startup: 13.021 | Startup: 13.333 |
| Worst Case: 22.624 | Worst Case: 23.810 |
| Average: 25.608 | Average: 27.137 |
| Score: 19.612 | Score: 20.500 |
| Wall time: 0:01.985 | Wall time: 0:01.913 |
| Running json-stringify-inspector: | Running json-stringify-inspector: |
| Startup: 104.167 | Startup: 106.383 |
| Worst Case: 107.527 | Worst Case: 107.527 |
| Average: 112.693 | Average: 113.365 |
| Score: 108.072 | Score: 109.049 |
| Wall time: 0:01.107 | Wall time: 0:01.096 |
| Running json-parse-inspector: | Running json-parse-inspector: |
| Startup: 104.167 | Startup: 111.111 |
| Worst Case: 86.957 | Worst Case: 91.743 |
| Average: 103.486 | Average: 110.081 |
| Score: 97.867 | Score: 103.916 |
| Wall time: 0:01.048 | Wall time: 0:00.989 |
| Running jshint-wtb: | Running jshint-wtb: |
| Startup: 11.111 | Startup: 11.086 |
| Worst Case: 15.106 | Worst Case: 16.026 |
| Average: 17.575 | Average: 18.657 |
| Score: 14.342 | Score: 14.910 |
| Wall time: 0:02.042 | Wall time: 0:01.957 |
| Running HashSet-wasm: | Running HashSet-wasm: |
| Startup: 28.736 | Startup: 34.014 |
| Run time: 5.092 | Run time: 5.102 |
| Score: 12.096 | Score: 13.173 |
| Running hash-map: | Running hash-map: |
| Startup: 151.515 | Startup: 156.250 |
| Worst Case: 266.667 | Worst Case: 192.308 |
| Average: 337.302 | Average: 333.707 |
| Score: 238.862 | Score: 215.639 |
| Wall time: 0:01.798 | Wall time: 0:01.817 |
| Running gcc-loops-wasm: | Running gcc-loops-wasm: |
| Startup: 119.048 | Startup: 81.967 |
| Run time: 0.433 | Run time: 0.440 |
| Score: 7.178 | Score: 6.006 |
| Running gbemu: | Running gbemu: |
| Startup: 39.370 | Startup: 38.462 |
| Worst Case: 86.580 | Worst Case: 84.746 |
| Average: 140.496 | Average: 135.969 |
| Score: 78.238 | Score: 76.242 |
| Wall time: 0:04.382 | Wall time: 0:04.524 |
| Running gaussian-blur: | Running gaussian-blur: |
| Startup: 161.290 | Startup: 156.250 |
| Worst Case: 235.294 | Worst Case: 224.719 |
| Average: 253.084 | Average: 261.538 |
| Score: 212.566 | Score: 209.411 |
| Wall time: 0:02.393 | Wall time: 0:02.316 |
| Running float-mm.c: | Running float-mm.c: |
| Startup: 5.513 | Startup: 5.453 |
| Worst Case: 5.470 | Worst Case: 5.525 |
| Average: 5.652 | Average: 5.724 |
| Score: 5.544 | Score: 5.566 |
| Wall time: 0:13.298 | Wall time: 0:13.151 |
| Running FlightPlanner: | Running FlightPlanner: |
| Startup: 161.290 | Startup: 178.571 |
| Worst Case: 434.783 | Worst Case: 454.545 |
| Average: 557.116 | Average: 563.981 |
| Score: 339.319 | Score: 357.727 |
| Wall time: 0:01.679 | Wall time: 0:01.614 |
| Running first-inspector-code-load: | Running first-inspector-code-load: |
| Startup: 121.951 | Startup: 125 |
| Worst Case: 117.647 | Worst Case: 117.647 |
| Average: 126.731 | Average: 128.399 |
| Score: 122.053 | Score: 123.600 |
| Wall time: 0:04.769 | Wall time: 0:04.735 |
| Running espree-wtb: | Running espree-wtb: |
| Startup: 16.077 | Startup: 15.823 |
| Worst Case: 25.773 | Worst Case: 24.272 |
| Average: 27.510 | Average: 27.322 |
| Score: 22.506 | Score: 21.893 |
| Wall time: 0:01.484 | Wall time: 0:01.488 |
| Running earley-boyer: | Running earley-boyer: |
| Startup: 227.273 | Startup: 238.095 |
| Worst Case: 400 | Worst Case: 434.783 |
| Average: 836.850 | Average: 877.581 |
| Score: 423.726 | Score: 449.542 |
| Wall time: 0:00.742 | Wall time: 0:00.709 |
| Running delta-blue: | Running delta-blue: |
| Startup: 185.185 | Startup: 192.308 |
| Worst Case: 555.556 | Worst Case: 588.235 |
| Average: 1018.836 | Average: 1010.187 |
| Score: 471.497 | Score: 485.270 |
| Wall time: 0:00.613 | Wall time: 0:00.617 |
| Running date-format-xparb-SP: | Running date-format-xparb-SP: |
| Startup: 135.135 | Startup: 135.135 |
| Worst Case: 143.885 | Worst Case: 136.054 |
| Average: 160.291 | Average: 150.595 |
| Score: 146.071 | Score: 140.420 |
| Wall time: 0:03.754 | Wall time: 0:03.991 |
| Running date-format-tofte-SP: | Running date-format-tofte-SP: |
| Startup: 100 | Startup: 100 |
| Worst Case: 133.333 | Worst Case: 130.719 |
| Average: 150.747 | Average: 149.310 |
| Score: 126.201 | Score: 124.971 |
| Wall time: 0:03.999 | Wall time: 0:04.036 |
| Running crypto-sha1-SP: | Running crypto-sha1-SP: |
| Startup: 277.778 | Startup: 277.778 |
| Worst Case: 392.157 | Worst Case: 425.532 |
| Average: 592.040 | Average: 604.675 |
| Score: 401.023 | Score: 415.002 |
| Wall time: 0:01.024 | Wall time: 0:01.004 |
| Running crypto-md5-SP: | Running crypto-md5-SP: |
| Startup: 250 | Startup: 263.158 |
| Worst Case: 444.444 | Worst Case: 444.444 |
| Average: 501.686 | Average: 508.547 |
| Score: 382.000 | Score: 390.351 |
| Wall time: 0:01.207 | Wall time: 0:01.190 |
| Running crypto-aes-SP: | Running crypto-aes-SP: |
| Startup: 238.095 | Startup: 238.095 |
| Worst Case: 285.714 | Worst Case: 338.983 |
| Average: 476.763 | Average: 489.712 |
| Score: 318.905 | Score: 340.635 |
| Wall time: 0:01.272 | Wall time: 0:01.237 |
| Running crypto: | Running crypto: |
| Startup: 384.615 | Startup: 384.615 |
| Worst Case: 833.333 | Worst Case: 800 |
| Average: 1054.965 | Average: 1079.855 |
| Score: 696.671 | Score: 692.618 |
| Wall time: 0:00.581 | Wall time: 0:00.568 |
| Running coffeescript-wtb: | Running coffeescript-wtb: |
| Startup: 11.628 | Startup: 11.848 |
| Worst Case: 17.241 | Worst Case: 16.722 |
| Average: 19.048 | Average: 19.960 |
| Score: 15.630 | Score: 15.814 |
| Wall time: 0:01.911 | Wall time: 0:01.850 |
| Running chai-wtb: | Running chai-wtb: |
| Startup: 24.876 | Startup: 25 |
| Worst Case: 38.760 | Worst Case: 38.168 |
| Average: 42.735 | Average: 42.194 |
| Score: 34.539 | Score: 34.274 |
| Wall time: 0:01.092 | Wall time: 0:01.082 |
| Running cdjs: | Running cdjs: |
| Startup: 30.120 | Startup: 31.847 |
| Worst Case: 32.328 | Worst Case: 32.397 |
| Average: 36.299 | Average: 36.090 |
| Score: 32.818 | Score: 33.393 |
| Wall time: 0:08.295 | Wall time: 0:08.335 |
| Running Box2D: | Running Box2D: |
| Startup: 60.241 | Startup: 60.241 |
| Worst Case: 259.740 | Worst Case: 259.740 |
| Average: 434.307 | Average: 438.144 |
| Score: 189.413 | Score: 189.969 |
| Wall time: 0:01.467 | Wall time: 0:01.456 |
| Running Basic: | Running Basic: |
| Startup: 116.279 | Startup: 119.048 |
| Worst Case: 238.095 | Worst Case: 289.855 |
| Average: 421.986 | Average: 562.914 |
| Score: 226.908 | Score: 268.812 |
| Wall time: 0:01.455 | Wall time: 0:01.101 |
| Running base64-SP: | Running base64-SP: |
| Startup: 250 | Startup: 238.095 |
| Worst Case: 285.714 | Worst Case: 294.118 |
| Average: 409.498 | Average: 415.793 |
| Score: 308.111 | Score: 307.645 |
| Wall time: 0:01.474 | Wall time: 0:01.453 |
| Running babylon-wtb: | Running babylon-wtb: |
| Startup: 15.974 | Startup: 16.340 |
| Worst Case: 28.902 | Worst Case: 29.070 |
| Average: 31.299 | Average: 31.646 |
| Score: 24.357 | Score: 24.679 |
| Wall time: 0:01.378 | Wall time: 0:01.353 |
| Running Babylon: | Running Babylon: |
| Startup: 78.125 | Startup: 79.365 |
| Worst Case: 303.030 | Worst Case: 227.273 |
| Average: 498.325 | Average: 501.686 |
| Score: 227.648 | Score: 208.387 |
| Wall time: 0:01.268 | Wall time: 0:01.260 |
| Running async-fs: | Running async-fs: |
| Startup: 59.524 | Startup: 60.241 |
| Worst Case: 75.377 | Worst Case: 90.909 |
| Average: 100.464 | Average: 102.362 |
| Score: 76.674 | Score: 82.454 |
| Wall time: 0:02.026 | Wall time: 0:01.990 |
| Running Air: | Running Air: |
| Startup: 50.505 | Startup: 49.020 |
| Worst Case: 186.916 | Worst Case: 168.067 |
| Average: 648.855 | Average: 650.273 |
| Score: 182.968 | Score: 174.978 |
| Wall time: 0:01.028 | Wall time: 0:01.028 |
| Running ai-astar: | Running ai-astar: |
| Startup: 250 | Startup: 250 |
| Worst Case: 240.964 | Worst Case: 303.030 |
| Average: 382.883 | Average: 396.667 |
| Score: 284.655 | Score: 310.898 |
| Wall time: 0:01.642 | Wall time: 0:01.587 |
| Running acorn-wtb: | Running acorn-wtb: |
| Startup: 15.060 | Startup: 15.432 |
| Worst Case: 25.773 | Worst Case: 26.178 |
| Average: 29.455 | Average: 28.571 |
| Score: 22.528 | Score: 22.599 |
| Wall time: 0:01.437 | Wall time: 0:01.430 |
| Running 3d-raytrace-SP: | Running 3d-raytrace-SP: |
| Startup: 156.250 | Startup: 156.250 |
| Worst Case: 198.020 | Worst Case: 253.165 |
| Average: 313.819 | Average: 329.093 |
| Score: 213.338 | Score: 235.241 |
| Wall time: 0:01.930 | Wall time: 0:01.841 |
| Running 3d-cube-SP: | Running 3d-cube-SP: |
| Startup: 166.667 | Startup: 172.414 |
| Worst Case: 303.030 | Worst Case: 285.714 |
| Average: 344.130 | Average: 356.929 |
| Score: 259.031 | Score: 260.033 |
| Wall time: 0:01.760 | Wall time: 0:01.697 |
| | |
| | |
| Stdlib: 0.898 | Stdlib: 0.918 |
| MainRun: 0.332 | MainRun: 0.338 |
| First: 78.720 | First: 80.064 |
| Worst: 121.695 | Worst: 121.508 |
| Average: 163.034 | Average: 166.564 |
| Startup: 120.068 | Startup: 111.921 |
| Runtime: 4.440 | Runtime: 4.630 |
| | |
| Total Score: 93.426 | Total Score: 94.389 |
|-------------------------------------|------------------------------------|
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190712/cb18107f/attachment-0001.html>
More information about the webkit-unassigned
mailing list