-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Update the performance test suite #36642
Comments
DefinitelyTyped is one possible source of benchmarks, though checking declarations tends not to be representative of checking references. |
We have user tests, why aren't those benchmarked? |
Overload resolution, in particular errors in overload resolution, may or may not be tested in the current suite. There's no way to know! It would be nice to how much particular feature is actually exercised when testing for performance, especially if it's not exercised at all. @DanielRosenwasser user tests also update to HEAD every time they're run. Their intent is to warn us when somebody breaks on new versions of Typescript, whether it's our fault or theirs (see: sift.js over the last month). Edit: However, the list of tests is good starting point, although the tests are JS-centric so probably only a selection is really worth adding. |
@DanielRosenwasser My best guess would be that they don't compile with the older TS builds in our (excessively long) time horizon. |
@sandersn With a shorter time horizon, it doesn't matter if HEAD keeps moving, because we can just compute fresh baselines for old TS builds. |
Features from the top of my head which need coverage:
Most of the |
I think the repro listed in #36567 would be a good perf suite entry because it's so easy to regress. |
|
@weswigham Local experiments suggest variances are acceptable with 10-run averages. We might be able to get away with fewer - we'd have to experiment (3 wasn't enough). If the regression bug comes with a TS commit and a test repo URL and commit, I would expect the slowdown to be locally reproducible (modulo OS differences). |
Definitely can't just collect those metrics part and parcel with the existing |
Related to #44033. |
I'm going to close this in favor of microsoft/typescript-benchmarking#32 and related changes; there's a PR out that will get us a new xstate, and replacing the other benchmarks with other useful ones is in progress. |
In an effort to make it possible to compare current performance to past performance, we've continued to run our performance tests against benchmarks compilable with four year old versions of the compiler. This depth of past baselines is probably less valuable than having coverage for widely-used modern features like union types. Arguably, we should move our baseline forward to at least the oldest version supported on DefinitelyTyped (currently, 2.7) or, even more aggressively, use a rolling window (e.g. 90 days) when checking for regressions.
The text was updated successfully, but these errors were encountered: