-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump target up to ES2015 #50022
Bump target up to ES2015 #50022
Conversation
@typescript-bot perf test this |
Heya @jakebailey, I've started to run the perf test suite on this PR at 7753eae. You can monitor the build here. Update: The results are in! |
@jakebailey Here they are:
CompilerComparison Report - main..50022
System
Hosts
Scenarios
TSServerComparison Report - main..50022
System
Hosts
Scenarios
Developer Information: |
nooooo |
Wish we had node 16 and 18 to test... |
And that we had an esbuild-like thing to say "emit all new stuff but... downlevel to var anyway" |
@jakebailey out of curiosity - why |
I'm guessing this is TDZ, yeah, I just haven't actually gone to compare traces to see if there's any obvious culprits. |
I would guess that two culprits are
|
The code that I used to fix the crashes has been merged in #50151; I'm going to close this since it seems like we're not going to change our emit target any time soon as the performance hit of let/const is just too great. See also #49332 (comment). |
Wanting to see how expensive this turns out to be performance wise, since this brings in let/const.
The two changes are interesting; they're only bugs when there's
var
. The switch case one is... weird code and I feel like this deserves an error somehow if the target isn't going to lower tovar
. The other one is a logic bug where we get a key that'sundefined
because it hasn't been calculated yet, but we can't determine that statically.