Bug 207138

Summary: Reduce size of HashMap and HashSet
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: New BugsAssignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cdumez, cmarcelo, dbates, ews-watchlist, hi, tsavell, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
patch ysuzuki: review+

Alex Christensen
Reported 2020-02-03 12:10:45 PST
Reduce size of HashMap and HashSet
Attachments
Patch (24.83 KB, patch)
2020-02-03 12:16 PST, Alex Christensen
no flags
patch (23.87 KB, patch)
2020-02-03 13:43 PST, Alex Christensen
ysuzuki: review+
Alex Christensen
Comment 1 2020-02-03 12:16:43 PST
Alex Christensen
Comment 2 2020-02-03 13:43:52 PST
Yusuke Suzuki
Comment 3 2020-02-03 14:01:47 PST
Comment on attachment 389560 [details] patch r=me, looks nice!
Alex Christensen
Comment 4 2020-02-03 14:54:39 PST
Here are my JetStream2 results without the change: JetStream2.0:Score:Geometric: 164.7pt stdev=0.7% 3d-cube-SP:Score: 335pt stdev=8.4% :Time:Geometric: 15.0ms stdev=9.3% Average:Time: 11.6ms stdev=1.9% First:Time: 23ms stdev=26.8% Worst:Time: 12.8ms stdev=3.9% 3d-raytrace-SP:Score: 352pt stdev=2.5% :Time:Geometric: 14.2ms stdev=2.6% Average:Time: 10.4ms stdev=1.9% First:Time: 19.8ms stdev=4.2% Worst:Time: 14.0ms stdev=8.4% Air:Score: 299pt stdev=2.8% :Time:Geometric: 16.7ms stdev=2.9% Average:Time: 4.99ms stdev=4.1% First:Time: 51.6ms stdev=2.9% Worst:Time: 18.2ms stdev=3.6% Babylon:Score: 412pt stdev=7.1% :Time:Geometric: 12.2ms stdev=7.2% Average:Time: 4.95ms stdev=5.9% First:Time: 27.0ms stdev=2.6% Worst:Time: 14ms stdev=14.4% Basic:Score: 521pt stdev=3.0% :Time:Geometric: 9.61ms stdev=3.1% Average:Time: 4.77ms stdev=4.8% First:Time: 20.0ms stdev=3.5% Worst:Time: 9.30ms stdev=2.2% Box2D:Score: 352pt stdev=1.2% :Time:Geometric: 14.2ms stdev=1.2% Average:Time: 6.50ms stdev=1.3% First:Time: 43.2ms stdev=1.0% Worst:Time: 10.2ms stdev=2.1% FlightPlanner:Score: 608.4pt stdev=0.6% :Time:Geometric: 8.218ms stdev=0.6% Average:Time: 5.13ms stdev=1.3% First:Time: 13.8ms stdev=3.2% Worst:Time: 7.85ms stdev=4.8% HashSet-wasm:Score: 37pt stdev=15.3% :Time:Geometric: 138ms stdev=13.0% Runtime:Time: 727.8ms stdev=0.9% Startup:Time: 27ms stdev=23.3% ML:Score: 92.8pt stdev=2.2% :Time:Geometric: 53.9ms stdev=2.2% Average:Time: 44.21ms stdev=0.8% First:Time: 74.0ms stdev=5.7% Worst:Time: 47.9ms stdev=1.4% OfflineAssembler:Score: 114pt stdev=13.4% :Time:Geometric: 45ms stdev=16.1% Average:Time: 32.3ms stdev=2.6% First:Time: 76ms stdev=54.7% Worst:Time: 39.0ms stdev=4.7% UniPoker:Score: 300pt stdev=10.2% :Time:Geometric: 17ms stdev=10.6% Average:Time: 11.5ms stdev=1.9% First:Time: 29ms stdev=31.6% Worst:Time: 14.7ms stdev=1.5% WSL:Score: 1.06pt stdev=1.4% :Time:Geometric: 4.70s stdev=1.4% MainRun:Time: 7.57s stdev=1.7% Stdlib:Time: 2.92s stdev=1.3% acorn-wtb:Score: 42.7pt stdev=4.3% :Time:Geometric: 117ms stdev=4.5% Average:Time: 92.0ms stdev=5.3% First:Time: 173.0ms stdev=0.8% Worst:Time: 102ms stdev=9.0% ai-astar:Score: 415pt stdev=7.2% :Time:Geometric: 12.1ms stdev=7.7% Average:Time: 9.1ms stdev=10.0% First:Time: 17ms stdev=46.1% Worst:Time: 12ms stdev=16.0% async-fs:Score: 221pt stdev=3.1% :Time:Geometric: 22.7ms stdev=3.1% Average:Time: 18.3ms stdev=2.6% First:Time: 30.0ms stdev=2.4% Worst:Time: 21.2ms stdev=5.9% babylon-wtb:Score: 53.4pt stdev=2.0% :Time:Geometric: 93.6ms stdev=2.0% Average:Time: 73.2ms stdev=2.2% First:Time: 139ms stdev=2.8% Worst:Time: 81.0ms stdev=2.5% base64-SP:Score: 481pt stdev=8.6% :Time:Geometric: 10.5ms stdev=8.9% Average:Time: 8.14ms stdev=5.1% First:Time: 14ms stdev=14.4% Worst:Time: 9.80ms stdev=9.1% bomb-workers:Score: 103pt stdev=13.2% :Time:Geometric: 49ms stdev=15.8% Average:Time: 44.6ms stdev=3.6% First:Time: 43.8ms stdev=3.0% Worst:Time: 65ms stdev=49.2% cdjs:Score: 94.38pt stdev=0.7% :Time:Geometric: 52.98ms stdev=0.7% Average:Time: 47.59ms stdev=0.9% First:Time: 61.60ms stdev=0.9% Worst:Time: 50.7ms stdev=1.1% chai-wtb:Score: 65.8pt stdev=1.7% :Time:Geometric: 76.0ms stdev=1.7% Average:Time: 59.5ms stdev=1.4% First:Time: 115ms stdev=2.4% Worst:Time: 64.4ms stdev=5.9% coffeescript-wtb:Score: 27.2pt stdev=2.7% :Time:Geometric: 184ms stdev=2.7% Average:Time: 154ms stdev=3.3% First:Time: 241ms stdev=3.8% Worst:Time: 168ms stdev=3.8% crypto:Score: 1.03Kpt stdev=2.4% :Time:Geometric: 4.88ms stdev=2.4% Average:Time: 3.180ms stdev=0.9% First:Time: 8.40ms stdev=6.5% Worst:Time: 4.35ms stdev=3.1% crypto-aes-SP:Score: 533pt stdev=1.5% :Time:Geometric: 9.39ms stdev=1.5% Average:Time: 7.234ms stdev=0.8% First:Time: 13.4ms stdev=4.1% Worst:Time: 8.55ms stdev=2.4% crypto-md5-SP:Score: 546pt stdev=1.8% :Time:Geometric: 9.15ms stdev=1.8% Average:Time: 7.16ms stdev=1.4% First:Time: 13.0ms stdev=0.0% Worst:Time: 8.25ms stdev=4.3% crypto-sha1-SP:Score: 589pt stdev=2.8% :Time:Geometric: 8.50ms stdev=2.8% Average:Time: 5.99ms stdev=3.1% First:Time: 12.0ms stdev=0.0% Worst:Time: 8.55ms stdev=5.6% date-format-tofte-SP:Score: 271pt stdev=2.1% :Time:Geometric: 18.5ms stdev=2.1% Average:Time: 15.4ms stdev=1.2% First:Time: 25.2ms stdev=7.1% Worst:Time: 16.2ms stdev=1.3% date-format-xparb-SP:Score: 284pt stdev=7.5% :Time:Geometric: 17.7ms stdev=7.8% Average:Time: 12.6ms stdev=1.0% First:Time: 31ms stdev=28.6% Worst:Time: 14.3ms stdev=8.5% delta-blue:Score: 731pt stdev=8.5% :Time:Geometric: 6.88ms stdev=9.3% Average:Time: 3.13ms stdev=2.2% First:Time: 17ms stdev=29.7% Worst:Time: 6.25ms stdev=2.8% earley-boyer:Score: 623pt stdev=7.8% :Time:Geometric: 8.07ms stdev=8.0% Average:Time: 4.84ms stdev=3.0% First:Time: 13ms stdev=15.5% Worst:Time: 8.2ms stdev=17.6% espree-wtb:Score: 45.6pt stdev=5.1% :Time:Geometric: 110ms stdev=5.1% Average:Time: 90.3ms stdev=3.6% First:Time: 155ms stdev=9.9% Worst:Time: 95.0ms stdev=3.7% first-inspector-code-load:Score: 206.5pt stdev=0.9% :Time:Geometric: 24.22ms stdev=0.9% Average:Time: 23.43ms stdev=0.9% First:Time: 25.0ms stdev=0.0% Worst:Time: 24.2ms stdev=1.8% float-mm.c:Score: 8.45pt stdev=6.3% :Time:Geometric: 594ms stdev=6.2% Average:Time: 574ms stdev=11.4% First:Time: 618ms stdev=5.7% Worst:Time: 594ms stdev=9.4% gaussian-blur:Score: 327.1pt stdev=0.9% :Time:Geometric: 15.29ms stdev=0.9% Average:Time: 12.14ms stdev=1.0% First:Time: 21.4ms stdev=2.6% Worst:Time: 13.8ms stdev=1.8% gbemu:Score: 126pt stdev=5.1% :Time:Geometric: 39.7ms stdev=5.2% Average:Time: 21.0ms stdev=1.9% First:Time: 73.0ms stdev=3.2% Worst:Time: 41ms stdev=17.1% gcc-loops-wasm:Score: 34.40pt stdev=0.4% :Time:Geometric: 145.3ms stdev=0.4% Runtime:Time: 2.641s stdev=0.8% Startup:Time: 8.00ms stdev=0.0% hash-map:Score: 368pt stdev=2.1% :Time:Geometric: 13.6ms stdev=2.1% Average:Time: 10.00ms stdev=1.0% First:Time: 19.0ms stdev=0.0% Worst:Time: 13.2ms stdev=5.5% jshint-wtb:Score: 33.1pt stdev=1.5% :Time:Geometric: 151ms stdev=1.5% Average:Time: 126ms stdev=2.3% First:Time: 206ms stdev=1.5% Worst:Time: 133ms stdev=3.2% json-parse-inspector:Score: 164pt stdev=1.2% :Time:Geometric: 30.4ms stdev=1.2% Average:Time: 28.86ms stdev=0.7% First:Time: 29.6ms stdev=1.9% Worst:Time: 33.0ms stdev=2.4% json-stringify-inspector:Score: 143pt stdev=2.5% :Time:Geometric: 34.9ms stdev=2.6% Average:Time: 31.5ms stdev=2.0% First:Time: 30.8ms stdev=2.7% Worst:Time: 43.9ms stdev=4.2% lebab-wtb:Score: 38pt stdev=12.7% :Time:Geometric: 133ms stdev=15.0% Average:Time: 102ms stdev=12.3% First:Time: 185ms stdev=4.0% Worst:Time: 127ms stdev=32.8% mandreel:Score: 100.0pt stdev=6.1% :Time:Geometric: 50.2ms stdev=6.5% Average:Time: 31.8ms stdev=1.6% First:Time: 94.6ms stdev=1.6% Worst:Time: 42ms stdev=18.4% multi-inspector-code-load:Score: 323pt stdev=4.5% :Time:Geometric: 15.5ms stdev=4.7% Average:Time: 6.5ms stdev=15.6% First:Time: 24.2ms stdev=1.8% Worst:Time: 24.0ms stdev=0.0% n-body-SP:Score: 719pt stdev=2.1% :Time:Geometric: 6.96ms stdev=2.2% Average:Time: 5.903ms stdev=0.7% First:Time: 9.00ms stdev=0.0% Worst:Time: 6.35ms stdev=6.0% navier-stokes:Score: 761pt stdev=2.8% :Time:Geometric: 6.57ms stdev=2.7% Average:Time: 4.54ms stdev=1.3% First:Time: 11.0ms stdev=6.4% Worst:Time: 5.70ms stdev=3.7% octane-code-load:Score: 737pt stdev=7.9% :Time:Geometric: 6.82ms stdev=7.6% Average:Time: 5.52ms stdev=2.1% First:Time: 8.8ms stdev=14.8% Worst:Time: 6.55ms stdev=6.3% octane-zlib:Score: 18pt stdev=18.1% :Time:Geometric: 290ms stdev=17.0% Average:Time: 169.1ms stdev=0.7% First:Time: 897ms stdev=44.7% Worst:Time: 171ms stdev=1.2% pdfjs:Score: 136pt stdev=9.4% :Time:Geometric: 37ms stdev=10.7% Average:Time: 24.8ms stdev=4.1% First:Time: 53.4ms stdev=1.7% Worst:Time: 40ms stdev=29.7% prepack-wtb:Score: 40.2pt stdev=1.8% :Time:Geometric: 124ms stdev=1.8% Average:Time: 87.1ms stdev=1.9% First:Time: 216ms stdev=1.2% Worst:Time: 103ms stdev=2.5% quicksort-wasm:Score: 325pt stdev=2.6% :Time:Geometric: 15.4ms stdev=2.7% Runtime:Time: 29.0ms stdev=0.0% Startup:Time: 8.20ms stdev=5.5% raytrace:Score: 539pt stdev=2.0% :Time:Geometric: 9.28ms stdev=2.0% Average:Time: 4.59ms stdev=1.5% First:Time: 14.4ms stdev=3.8% Worst:Time: 12.1ms stdev=2.4% regex-dna-SP:Score: 398pt stdev=3.0% :Time:Geometric: 12.6ms stdev=3.1% Average:Time: 11.4ms stdev=3.2% First:Time: 12.2ms stdev=3.7% Worst:Time: 14.3ms stdev=3.1% regexp:Score: 289pt stdev=1.3% :Time:Geometric: 17.3ms stdev=1.3% Average:Time: 15.6ms stdev=1.1% First:Time: 17.8ms stdev=2.5% Worst:Time: 18.6ms stdev=1.2% richards:Score: 689pt stdev=1.4% :Time:Geometric: 7.26ms stdev=1.4% Average:Time: 5.06ms stdev=1.4% First:Time: 12.6ms stdev=4.3% Worst:Time: 6.00ms stdev=0.0% richards-wasm:Score: 92.5pt stdev=3.6% :Time:Geometric: 54.1ms stdev=3.7% Runtime:Time: 565ms stdev=2.0% Startup:Time: 5.20ms stdev=8.6% segmentation:Score: 29.6pt stdev=1.5% :Time:Geometric: 169ms stdev=1.5% Average:Time: 113ms stdev=2.8% First:Time: 228ms stdev=1.0% Worst:Time: 189ms stdev=1.6% splay:Score: 376pt stdev=2.3% :Time:Geometric: 13.3ms stdev=2.2% Average:Time: 10.7ms stdev=1.5% First:Time: 12.8ms stdev=6.5% Worst:Time: 17.1ms stdev=1.7% stanford-crypto-aes:Score: 334pt stdev=2.8% :Time:Geometric: 15.0ms stdev=2.7% Average:Time: 11.5ms stdev=2.3% First:Time: 20.4ms stdev=2.7% Worst:Time: 14.3ms stdev=5.9% stanford-crypto-pbkdf2:Score: 452pt stdev=1.5% :Time:Geometric: 11.1ms stdev=1.5% Average:Time: 9.46ms stdev=2.5% First:Time: 11.2ms stdev=4.0% Worst:Time: 12.8ms stdev=2.0% stanford-crypto-sha256:Score: 562pt stdev=3.7% :Time:Geometric: 8.90ms stdev=3.6% Average:Time: 7.43ms stdev=4.0% First:Time: 11.0ms stdev=0.0% Worst:Time: 8.65ms stdev=7.0% string-unpack-code-SP:Score: 309pt stdev=2.7% :Time:Geometric: 16.2ms stdev=2.7% Average:Time: 14.65ms stdev=0.9% First:Time: 17.8ms stdev=7.3% Worst:Time: 16.3ms stdev=1.7% tagcloud-SP:Score: 226pt stdev=4.9% :Time:Geometric: 22.2ms stdev=4.6% Average:Time: 17.6ms stdev=1.8% First:Time: 26.2ms stdev=3.2% Worst:Time: 23.6ms stdev=9.1% tsf-wasm:Score: 85pt stdev=11.2% :Time:Geometric: 59ms stdev=11.7% Runtime:Time: 307ms stdev=1.5% Startup:Time: 12ms stdev=23.3% typescript:Score: 15.7pt stdev=3.3% :Time:Geometric: 318ms stdev=3.4% Average:Time: 237ms stdev=4.0% First:Time: 466ms stdev=2.6% Worst:Time: 292ms stdev=3.8% uglify-js-wtb:Score: 21.3pt stdev=1.9% :Time:Geometric: 235ms stdev=2.0% Average:Time: 180ms stdev=1.9% First:Time: 355ms stdev=2.0% Worst:Time: 204ms stdev=2.9% And here are my JetStream2 results with the change: JetStream2.0:Score:Geometric: 163pt stdev=2.1% 3d-cube-SP:Score: 343pt stdev=2.4% :Time:Geometric: 14.6ms stdev=2.3% Average:Time: 11.7ms stdev=2.3% First:Time: 19.6ms stdev=2.8% Worst:Time: 13.6ms stdev=6.3% 3d-raytrace-SP:Score: 367pt stdev=3.1% :Time:Geometric: 13.6ms stdev=3.2% Average:Time: 10.3ms stdev=4.1% First:Time: 18.8ms stdev=2.4% Worst:Time: 13.1ms stdev=4.8% Air:Score: 285pt stdev=9.7% :Time:Geometric: 18ms stdev=10.8% Average:Time: 5.09ms stdev=7.8% First:Time: 52.4ms stdev=2.6% Worst:Time: 21ms stdev=23.9% Babylon:Score: 415pt stdev=10.0% :Time:Geometric: 12ms stdev=10.4% Average:Time: 4.91ms stdev=5.4% First:Time: 30ms stdev=21.9% Worst:Time: 12ms stdev=13.1% Basic:Score: 514pt stdev=4.3% :Time:Geometric: 9.74ms stdev=4.5% Average:Time: 4.77ms stdev=4.8% First:Time: 20.2ms stdev=5.4% Worst:Time: 9.60ms stdev=5.1% Box2D:Score: 347pt stdev=2.6% :Time:Geometric: 14.4ms stdev=2.7% Average:Time: 6.59ms stdev=2.9% First:Time: 43.6ms stdev=3.5% Worst:Time: 10.4ms stdev=2.0% FlightPlanner:Score: 592pt stdev=2.8% :Time:Geometric: 8.46ms stdev=2.9% Average:Time: 5.18ms stdev=2.2% First:Time: 14.6ms stdev=3.8% Worst:Time: 8.00ms stdev=6.2% HashSet-wasm:Score: 35.2pt stdev=2.7% :Time:Geometric: 142ms stdev=2.7% Runtime:Time: 735ms stdev=2.3% Startup:Time: 27.6ms stdev=6.6% ML:Score: 87.3pt stdev=7.1% :Time:Geometric: 57.5ms stdev=7.0% Average:Time: 44.0ms stdev=4.3% First:Time: 91ms stdev=17.5% Worst:Time: 48.1ms stdev=5.0% OfflineAssembler:Score: 120pt stdev=1.7% :Time:Geometric: 41.6ms stdev=1.7% Average:Time: 32.6ms stdev=1.7% First:Time: 58.6ms stdev=2.3% Worst:Time: 37.5ms stdev=2.6% UniPoker:Score: 310pt stdev=4.0% :Time:Geometric: 16.2ms stdev=4.1% Average:Time: 11.9ms stdev=1.2% First:Time: 22.6ms stdev=4.0% Worst:Time: 16ms stdev=12.7% WSL:Score: 1.05pt stdev=2.6% :Time:Geometric: 4.76s stdev=2.7% MainRun:Time: 7.69s stdev=3.6% Stdlib:Time: 2.94s stdev=1.7% acorn-wtb:Score: 43.3pt stdev=2.3% :Time:Geometric: 115ms stdev=2.3% Average:Time: 91.3ms stdev=2.6% First:Time: 173ms stdev=2.8% Worst:Time: 97.4ms stdev=3.0% ai-astar:Score: 422pt stdev=7.7% :Time:Geometric: 11.9ms stdev=7.9% Average:Time: 8.4ms stdev=14.8% First:Time: 17ms stdev=40.8% Worst:Time: 12.2ms stdev=8.5% async-fs:Score: 218pt stdev=5.9% :Time:Geometric: 23.0ms stdev=6.1% Average:Time: 18.6ms stdev=5.3% First:Time: 30.8ms stdev=6.7% Worst:Time: 21.3ms stdev=6.8% babylon-wtb:Score: 53.8pt stdev=2.4% :Time:Geometric: 93.1ms stdev=2.4% Average:Time: 71.3ms stdev=2.2% First:Time: 145ms stdev=5.0% Worst:Time: 78.0ms stdev=4.3% base64-SP:Score: 482pt stdev=4.0% :Time:Geometric: 10.4ms stdev=3.9% Average:Time: 8.03ms stdev=5.3% First:Time: 14ms stdev=11.6% Worst:Time: 9.75ms stdev=6.0% bomb-workers:Score: 103pt stdev=5.0% :Time:Geometric: 48.6ms stdev=5.2% Average:Time: 43.4ms stdev=2.2% First:Time: 53ms stdev=12.7% Worst:Time: 50.1ms stdev=3.6% cdjs:Score: 93.6pt stdev=2.3% :Time:Geometric: 53.5ms stdev=2.4% Average:Time: 48.0ms stdev=3.4% First:Time: 62.0ms stdev=1.6% Worst:Time: 51.3ms stdev=2.6% chai-wtb:Score: 63.4pt stdev=6.4% :Time:Geometric: 79.2ms stdev=6.9% Average:Time: 61.8ms stdev=7.5% First:Time: 119ms stdev=2.3% Worst:Time: 68ms stdev=13.0% coffeescript-wtb:Score: 26.7pt stdev=3.5% :Time:Geometric: 187ms stdev=3.6% Average:Time: 152ms stdev=3.5% First:Time: 264ms stdev=17.3% Worst:Time: 165ms stdev=2.8% crypto:Score: 1.05Kpt stdev=2.0% :Time:Geometric: 4.78ms stdev=2.0% Average:Time: 3.22ms stdev=2.7% First:Time: 8.00ms stdev=0.0% Worst:Time: 4.25ms stdev=4.2% crypto-aes-SP:Score: 523pt stdev=2.9% :Time:Geometric: 9.57ms stdev=2.9% Average:Time: 7.37ms stdev=3.1% First:Time: 14.0000000ms stdev=0.0% Worst:Time: 8.50ms stdev=5.9% crypto-md5-SP:Score: 508pt stdev=7.0% :Time:Geometric: 9.88ms stdev=7.0% Average:Time: 7.29ms stdev=2.2% First:Time: 15ms stdev=13.4% Worst:Time: 9.2ms stdev=15.2% crypto-sha1-SP:Score: 580pt stdev=2.9% :Time:Geometric: 8.63ms stdev=2.9% Average:Time: 6.03ms stdev=2.7% First:Time: 12.2ms stdev=3.7% Worst:Time: 8.75ms stdev=4.5% date-format-tofte-SP:Score: 272pt stdev=3.2% :Time:Geometric: 18.4ms stdev=3.2% Average:Time: 15.6ms stdev=3.3% First:Time: 24.0ms stdev=5.9% Worst:Time: 16.6ms stdev=2.5% date-format-xparb-SP:Score: 273pt stdev=5.8% :Time:Geometric: 18.3ms stdev=5.7% Average:Time: 12.9ms stdev=1.8% First:Time: 31ms stdev=15.5% Worst:Time: 15.4ms stdev=9.8% delta-blue:Score: 728pt stdev=8.5% :Time:Geometric: 6.91ms stdev=9.2% Average:Time: 3.11ms stdev=3.6% First:Time: 17ms stdev=33.0% Worst:Time: 6.40ms stdev=4.5% earley-boyer:Score: 624pt stdev=7.9% :Time:Geometric: 8.05ms stdev=8.3% Average:Time: 4.79ms stdev=7.1% First:Time: 12.4ms stdev=4.4% Worst:Time: 8.8ms stdev=17.3% espree-wtb:Score: 44.5pt stdev=9.9% :Time:Geometric: 113ms stdev=11.0% Average:Time: 90.2ms stdev=4.2% First:Time: 179ms stdev=35.6% Worst:Time: 93.0ms stdev=4.9% first-inspector-code-load:Score: 203pt stdev=3.0% :Time:Geometric: 24.7ms stdev=3.0% Average:Time: 23.8ms stdev=2.8% First:Time: 25.4ms stdev=2.2% Worst:Time: 24.9ms stdev=4.3% float-mm.c:Score: 8.19pt stdev=8.1% :Time:Geometric: 613ms stdev=7.5% Average:Time: 611ms stdev=11.2% First:Time: 610ms stdev=9.9% Worst:Time: 624ms stdev=11.8% gaussian-blur:Score: 326pt stdev=2.0% :Time:Geometric: 15.3ms stdev=2.0% Average:Time: 12.2ms stdev=2.2% First:Time: 21.4ms stdev=2.6% Worst:Time: 13.8ms stdev=3.0% gbemu:Score: 130pt stdev=1.9% :Time:Geometric: 38.6ms stdev=1.9% Average:Time: 21.1ms stdev=2.8% First:Time: 73.6ms stdev=2.8% Worst:Time: 36.9ms stdev=2.7% gcc-loops-wasm:Score: 34.7pt stdev=3.6% :Time:Geometric: 144ms stdev=3.5% Runtime:Time: 2.66s stdev=2.3% Startup:Time: 7.80ms stdev=5.7% hash-map:Score: 354pt stdev=2.7% :Time:Geometric: 14.1ms stdev=2.8% Average:Time: 10.2ms stdev=2.9% First:Time: 19.8ms stdev=2.3% Worst:Time: 14.1ms stdev=4.4% jshint-wtb:Score: 32.2pt stdev=2.4% :Time:Geometric: 155ms stdev=2.4% Average:Time: 130ms stdev=1.7% First:Time: 211ms stdev=4.2% Worst:Time: 136ms stdev=2.0% json-parse-inspector:Score: 162pt stdev=3.8% :Time:Geometric: 30.9ms stdev=3.8% Average:Time: 29.3ms stdev=3.9% First:Time: 30.2ms stdev=2.8% Worst:Time: 33.3ms stdev=7.6% json-stringify-inspector:Score: 139pt stdev=6.9% :Time:Geometric: 36.1ms stdev=7.1% Average:Time: 32.4ms stdev=4.8% First:Time: 30.6ms stdev=1.8% Worst:Time: 48ms stdev=16.4% lebab-wtb:Score: 38.0pt stdev=7.8% :Time:Geometric: 132ms stdev=8.1% Average:Time: 101ms stdev=5.5% First:Time: 199ms stdev=10.5% Worst:Time: 115ms stdev=8.4% mandreel:Score: 101pt stdev=1.9% :Time:Geometric: 49.3ms stdev=1.9% Average:Time: 32.0ms stdev=2.3% First:Time: 96.2ms stdev=1.9% Worst:Time: 39.0ms stdev=1.7% multi-inspector-code-load:Score: 318pt stdev=5.9% :Time:Geometric: 15.8ms stdev=6.1% Average:Time: 6.6ms stdev=19.6% First:Time: 24.6ms stdev=3.6% Worst:Time: 24.4ms stdev=3.1% n-body-SP:Score: 705pt stdev=4.4% :Time:Geometric: 7.11ms stdev=4.5% Average:Time: 5.97ms stdev=2.4% First:Time: 9.40ms stdev=5.8% Worst:Time: 6.40ms stdev=5.9% navier-stokes:Score: 738pt stdev=2.3% :Time:Geometric: 6.78ms stdev=2.3% Average:Time: 4.60ms stdev=2.3% First:Time: 11.8ms stdev=3.8% Worst:Time: 5.75ms stdev=3.1% octane-code-load:Score: 708pt stdev=13.6% :Time:Geometric: 7.2ms stdev=13.9% Average:Time: 5.71ms stdev=6.5% First:Time: 9.4ms stdev=22.1% Worst:Time: 6.9ms stdev=13.2% octane-zlib:Score: 17pt stdev=20.9% :Time:Geometric: 296ms stdev=19.5% Average:Time: 172ms stdev=2.5% First:Time: 926ms stdev=48.2% Worst:Time: 175ms stdev=2.8% pdfjs:Score: 139.7pt stdev=0.5% :Time:Geometric: 35.78ms stdev=0.5% Average:Time: 24.33ms stdev=0.6% First:Time: 53.8ms stdev=2.0% Worst:Time: 35.00ms stdev=0.9% prepack-wtb:Score: 39.68pt stdev=0.9% :Time:Geometric: 126.0ms stdev=0.9% Average:Time: 88.40ms stdev=0.9% First:Time: 218ms stdev=1.4% Worst:Time: 104.0ms stdev=0.7% quicksort-wasm:Score: 321pt stdev=3.1% :Time:Geometric: 15.6ms stdev=3.2% Runtime:Time: 29.6ms stdev=1.9% Startup:Time: 8.20ms stdev=5.5% raytrace:Score: 532.1pt stdev=0.9% :Time:Geometric: 9.397ms stdev=0.9% Average:Time: 4.62ms stdev=1.2% First:Time: 14.8ms stdev=3.0% Worst:Time: 12.2ms stdev=2.3% regex-dna-SP:Score: 401pt stdev=2.8% :Time:Geometric: 12.5ms stdev=2.8% Average:Time: 11.3ms stdev=2.4% First:Time: 12.4ms stdev=4.4% Worst:Time: 13.9ms stdev=6.0% regexp:Score: 282pt stdev=2.7% :Time:Geometric: 17.8ms stdev=2.8% Average:Time: 15.65ms stdev=0.6% First:Time: 18.4ms stdev=4.9% Worst:Time: 19.5ms stdev=3.1% richards:Score: 689pt stdev=1.1% :Time:Geometric: 7.25ms stdev=1.1% Average:Time: 5.10ms stdev=3.1% First:Time: 12.6ms stdev=4.3% Worst:Time: 5.95ms stdev=1.9% richards-wasm:Score: 93.5pt stdev=4.3% :Time:Geometric: 53.5ms stdev=4.5% Runtime:Time: 552ms stdev=2.1% Startup:Time: 5.20ms stdev=8.6% segmentation:Score: 28.9pt stdev=2.7% :Time:Geometric: 173ms stdev=2.6% Average:Time: 115ms stdev=5.0% First:Time: 234ms stdev=1.7% Worst:Time: 192ms stdev=3.1% splay:Score: 373pt stdev=2.1% :Time:Geometric: 13.4ms stdev=2.1% Average:Time: 10.9ms stdev=1.3% First:Time: 12.8ms stdev=3.5% Worst:Time: 17.4ms stdev=3.5% stanford-crypto-aes:Score: 330pt stdev=1.7% :Time:Geometric: 15.2ms stdev=1.7% Average:Time: 11.4ms stdev=1.5% First:Time: 20.6ms stdev=2.7% Worst:Time: 14.8ms stdev=7.2% stanford-crypto-pbkdf2:Score: 453pt stdev=2.5% :Time:Geometric: 11.0ms stdev=2.5% Average:Time: 9.32ms stdev=1.6% First:Time: 11.4ms stdev=7.8% Worst:Time: 12.7ms stdev=2.6% stanford-crypto-sha256:Score: 552pt stdev=4.8% :Time:Geometric: 9.08ms stdev=4.8% Average:Time: 7.38ms stdev=4.6% First:Time: 11.6ms stdev=7.7% Worst:Time: 8.75ms stdev=4.0% string-unpack-code-SP:Score: 303pt stdev=1.6% :Time:Geometric: 16.5ms stdev=1.6% Average:Time: 14.80ms stdev=0.8% First:Time: 18.2ms stdev=2.5% Worst:Time: 16.7ms stdev=2.7% tagcloud-SP:Score: 241pt stdev=3.8% :Time:Geometric: 20.8ms stdev=3.9% Average:Time: 17.0ms stdev=1.5% First:Time: 25.8ms stdev=1.7% Worst:Time: 21ms stdev=10.2% tsf-wasm:Score: 80pt stdev=19.4% :Time:Geometric: 64ms stdev=21.5% Runtime:Time: 299ms stdev=4.3% Startup:Time: 15ms stdev=49.1% typescript:Score: 15.6pt stdev=2.6% :Time:Geometric: 320ms stdev=2.6% Average:Time: 238ms stdev=3.1% First:Time: 470ms stdev=2.7% Worst:Time: 295ms stdev=2.3% uglify-js-wtb:Score: 21.0pt stdev=2.5% :Time:Geometric: 238ms stdev=2.5% Average:Time: 183ms stdev=2.5% First:Time: 356ms stdev=2.2% Worst:Time: 207ms stdev=3.1% There are some small increases and some small decreases, but everything seems to be within noise. I'm planning to commit this and see if our bots agree.
Devin Rousso
Comment 5 2020-02-03 15:02:32 PST
Comment on attachment 389560 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=389560&action=review +1, this is awesome =D > Source/WTF/wtf/HashTable.h:663 > + return nullptr; > + unsigned sizeMask = tableSizeMask(); Style: I'd add a newline between these > Source/WTF/wtf/HashTable.h:1293 > m_table = allocateTable(newTableSize); > + setTableSize(newTableSize); > + setTableSizeMask(newTableSize - 1); > + setDeletedCount(0); > + setKeyCount(oldKeyCount); Should we move all of this inside `allocateTable`, similar to how the table's size is pulled out of the `ValueType* table` inside `deallocateTable`? > Source/WTF/wtf/HashTable.h:1362 > + setKeyCount(otherKeyCount); > + setDeletedCount(0); I would guess no, but does the order of these matter? Above, you `setKeyCount` after `setDeletedCount`.
Alex Christensen
Comment 6 2020-02-03 15:16:07 PST
Comment on attachment 389560 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=389560&action=review >> Source/WTF/wtf/HashTable.h:1293 >> + setKeyCount(oldKeyCount); > > Should we move all of this inside `allocateTable`, similar to how the table's size is pulled out of the `ValueType* table` inside `deallocateTable`? We could, and all 4 do need to be initialized, but there are two reasons not to: 1. We would have to pass the keyCount into the call to allocateTable, which would be strange. 2. Then the memory allocator would be responsible for initializing some memory but not all. I prefer to keep the existing model where the caller is responsible for initializing all the memory. >> Source/WTF/wtf/HashTable.h:1362 >> + setDeletedCount(0); > > I would guess no, but does the order of these matter? Above, you `setKeyCount` after `setDeletedCount`. Order doesn't matter here. It's just writing 4 integers. All metadata must be initialized.
Yusuke Suzuki
Comment 7 2020-02-03 15:25:02 PST
Comment on attachment 389560 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=389560&action=review > Source/WTF/wtf/HashTable.h:1196 > + return reinterpret_cast<ValueType*>(static_cast<char*>(HashTableMalloc::zeroedMalloc(metadataSize + size * sizeof(ValueType))) + metadataSize); One good addition is, `static_assert(metadataSize % alignof(ValueType) == 0)` to ensure that offsetted vector is still meeting alignment requirement.
Alex Christensen
Comment 8 2020-02-03 15:48:44 PST
Radar WebKit Bug Importer
Comment 9 2020-02-03 15:49:18 PST
Alex Christensen
Comment 10 2020-02-03 15:49:56 PST
Note: this was intended to help with <rdar://problem/58066381>
Truitt Savell
Comment 11 2020-02-04 09:03:40 PST
It looks like these changes broke 3 lldb tests. Tracking in https://bugs.webkit.org/show_bug.cgi?id=207204
Note You need to log in before you can comment on or make changes to this bug.