Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@jez
Copy link
Collaborator

@jez jez commented Mar 29, 2022

Motivation

If t is number of TODO items and e is number of errors, this changes the
algorithm from

O(t log(t))O(e log(e))

t scales with codebase size. e also scales with codebase size, but much
smaller, and only for builds that we don't expect to typecheck (branch builds).

Test plan

Hopefully this has no changes, so existing tests should cover this.

I plan to test the perf impact on Stripe's codebase

Timings:
http://go/gist/jez/963ced6034405215ec5530f87ccf5075

@jez jez requested a review from a team as a code owner March 29, 2022 21:42
@jez jez requested review from aprocter and removed request for a team March 29, 2022 21:42
@jez
Copy link
Collaborator Author

jez commented Mar 29, 2022

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR. When the build
finishes, I'll share with you whether or how it failed. Thanks!

Stripe employees can see the build results here:

https://go/builds/bui_LPc3JKc0OR5FTj
https://go/builds/bui_LPc34yLBxwWseD

@jez jez changed the title wip: Defer sorting resolver todo lists until it matters Defer sorting resolver todo lists until it matters Mar 29, 2022
@jez jez marked this pull request as draft March 29, 2022 22:31
@jez jez marked this pull request as ready for review March 29, 2022 22:31
@jez jez merged commit 87fe72d into master Mar 30, 2022
@jez jez deleted the jez-defer-sort branch March 30, 2022 17:04
jez added a commit that referenced this pull request Mar 31, 2022
jez added a commit that referenced this pull request Mar 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants