Closed brendandahl closed 9 years ago
Fixes #1841 I'm seeing 15-18% improvement.
I'm seeing 15-18% improvement.
Hmm, I don't see that on the startup benchmark for RunWhatsApp on desktop:
Test | Baseline Mean | Mean | +/- | % | P | Min | Max |
---|---|---|---|---|---|---|---|
startupTime | 977ms | 979ms | 2ms | 0.20 | SAME | 961ms | 1,003ms |
vmStartupTime | 200ms | 200ms | 0ms | 0.02 | SAME | 186ms | 226ms |
bgStartupTime | 43ms | 44ms | 1ms | 1.36 | WORSE | 41ms | 46ms |
fgStartupTime | 624ms | 621ms | -3ms | -0.49 | SAME | 595ms | 658ms |
fgRefreshStartupTime | 110ms | 114ms | 4ms | 4.02 | SAME | 90ms | 123ms |
fgRestartTime | n/a | NaNms | n/a | n/a | n/a | Infinityms | -Infinityms |
totalSize | 59,059kb | 59,098kb | 39kb | 0.07 | SAME | 57,863kb | 59,923kb |
domSize | 171kb | 171kb | 0kb | -0.00 | SAME | 171kb | 171kb |
styleSize | 396kb | 396kb | 0kb | 0.07 | SAME | 396kb | 398kb |
jsObjectsSize | 51,406kb | 51,424kb | 17kb | 0.03 | WORSE | 51,420kb | 51,426kb |
jsStringsSize | 501kb | 499kb | -2kb | -0.45 | BETTER | 497kb | 501kb |
jsOtherSize | 6,347kb | 6,372kb | 24kb | 0.38 | SAME | 5,140kb | 7,192kb |
otherSize | 238kb | 237kb | -1kb | -0.25 | BETTER | 235kb | 239kb |
USS | n/a | NaNkb | n/a | n/a | n/a | Infinitykb | -Infinitykb |
peakRSS | 459,696kb | 499,584kb | 39,888kb | 8.68 | WORSE | 495,832kb | 499,716kb |
Is there anything special about your build configuration? I'm building with RELEASE=1 BENCHMARK=1
, but not with the runwhatsapppreview.mk file, and the URL http://localhost:8000/index.html?downloadJAD=http://www.whatsapp.com/s40/WhatsApp.jad&midletClassName=com.whatsapp.client.test.WhatsAppBG&logLevel=log&logConsole=page.
What version of typescript are you running?
What version of typescript are you running?
I was running 1.4.1, but I just upgraded to 1.5.3, which is the latest stable version available via npm, and I'm seeing the same results. What version are you using?
I'm using 1.5.3, 1.4 would inline the results everywhere so I wouldn't expect you to see a difference there. I'm not sure why you're not seeing a difference on 1.5.3 though.
Oh did you build your baseline with 1.4 or 1.5?
Oh did you build your baseline with 1.4 or 1.5?
Ah, I built it with 1.4. When I build it with 1.5, then this branch shows an improvement:
Test | Baseline Mean | Mean | +/- | % | P | Min | Max |
---|---|---|---|---|---|---|---|
startupTime | 1,189ms | 1,048ms | -142ms | -11.92 | BETTER | 999ms | 1,237ms |
vmStartupTime | 220ms | 208ms | -11ms | -5.11 | BETTER | 185ms | 235ms |
bgStartupTime | 50ms | 43ms | -7ms | -13.90 | BETTER | 41ms | 52ms |
fgStartupTime | 771ms | 675ms | -96ms | -12.42 | BETTER | 635ms | 837ms |
fgRefreshStartupTime | 149ms | 121ms | -28ms | -18.71 | BETTER | 89ms | 145ms |
fgRestartTime | n/a | NaNms | n/a | n/a | n/a | Infinityms | -Infinityms |
totalSize | 59,043kb | 59,024kb | -20kb | -0.03 | SAME | 57,764kb | 59,877kb |
domSize | 171kb | 171kb | 0kb | 0.00 | SAME | 170kb | 171kb |
styleSize | 397kb | 396kb | 0kb | -0.06 | SAME | 396kb | 397kb |
jsObjectsSize | 51,353kb | 51,370kb | 17kb | 0.03 | WORSE | 51,343kb | 51,381kb |
jsStringsSize | 496kb | 501kb | 5kb | 1.05 | WORSE | 497kb | 503kb |
jsOtherSize | 6,391kb | 6,348kb | -43kb | -0.67 | SAME | 5,098kb | 7,197kb |
otherSize | 236kb | 237kb | 1kb | 0.22 | SAME | 236kb | 239kb |
USS | n/a | NaNkb | n/a | n/a | n/a | Infinitykb | -Infinitykb |
peakRSS | 450,464kb | 487,929kb | 37,465kb | 8.32 | WORSE | 460,060kb | 491,924kb |
Which mostly claws back the perf regression from TypeScript 1.5:
Test | Baseline Mean | Mean | +/- | % | P | Min | Max |
---|---|---|---|---|---|---|---|
startupTime | 1,027ms | 1,198ms | 171ms | 16.67 | WORSE | 1,159ms | 1,321ms |
vmStartupTime | 206ms | 221ms | 15ms | 7.18 | WORSE | 179ms | 251ms |
bgStartupTime | 43ms | 52ms | 9ms | 21.77 | WORSE | 48ms | 63ms |
fgStartupTime | 658ms | 776ms | 118ms | 18.01 | WORSE | 730ms | 870ms |
fgRefreshStartupTime | 121ms | 149ms | 29ms | 23.72 | WORSE | 116ms | 172ms |
fgRestartTime | n/a | NaNms | n/a | n/a | n/a | Infinityms | -Infinityms |
totalSize | 59,001kb | 59,054kb | 53kb | 0.09 | SAME | 57,727kb | 59,983kb |
domSize | 171kb | 171kb | 0kb | -0.00 | SAME | 170kb | 171kb |
styleSize | 396kb | 397kb | 0kb | 0.08 | SAME | 396kb | 399kb |
jsObjectsSize | 51,354kb | 51,357kb | 4kb | 0.01 | WORSE | 51,350kb | 51,361kb |
jsStringsSize | 497kb | 497kb | 0kb | -0.01 | SAME | 492kb | 502kb |
jsOtherSize | 6,347kb | 6,396kb | 49kb | 0.77 | SAME | 5,079kb | 7,320kb |
otherSize | 237kb | 237kb | 0kb | -0.03 | SAME | 232kb | 239kb |
USS | n/a | NaNkb | n/a | n/a | n/a | Infinitykb | -Infinitykb |
peakRSS | 455,819kb | 479,770kb | 23,951kb | 5.25 | WORSE | 473,060kb | 480,900kb |
Presumably the regression is mostly (entirely?) the enum reference in-lining changes, so exactly what you're addressing. It's unclear why my numbers don't show this branch clawing back all of the regression, though. Perhaps that's just a fluke, or maybe there's another perf regression in 1.5.
In any case, this is obviously a worthy win, even though I may stick with TypeScript 1.4 locally for a bit longer.
This looks fine. What does the perf improvement look like?