You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every ArgInfo stores a rebind right now.
But the only arg for which the rebind matters is the block arg.
Every method has a block arg (but not every block has a meaningful rebind).
Proposed solution
Using these facts, we may as well store the rebind only on the Method instead of on all ArgInfo even the non-block-arg ArgInfo.
I think this will only save something like single-digit megabytes of resident memory on Stripe's code base, but it also has the property that it models things more closely to how inference actually works, so I think it's a win anyways.
The text was updated successfully, but these errors were encountered:
Problem
sorbet/core/Types.h
Line 36 in 865fa62
Every ArgInfo stores a
rebind
right now.But the only arg for which the
rebind
matters is theblock
arg.Every method has a block arg (but not every block has a meaningful rebind).
Proposed solution
Using these facts, we may as well store the
rebind
only on theMethod
instead of on allArgInfo
even the non-block-argArgInfo
.I think this will only save something like single-digit megabytes of resident memory on Stripe's code base, but it also has the property that it models things more closely to how inference actually works, so I think it's a win anyways.
The text was updated successfully, but these errors were encountered: