unison icon indicating copy to clipboard operation
unison copied to clipboard

Time to parse a scratch file grows with size of codebase

Open ChrisPenner opened this issue 3 years ago • 1 comments

Using Stew's giant codebase I notice that, even in a completely empty branch, getting a slurp printout after saving a scratch file with a single definition takes about 2s; on a fresh codebase it's instant.

I suspect we're still loading the global PPE or something, but with self-contained namespaces we should probably just not do that.

ChrisPenner avatar Sep 15 '22 15:09 ChrisPenner

I confirmed that we do indeed load the root names, and ALSO find historical names for all labeledreferences, all of which I believe is unnecessary under the new "self-contained namespaces" assumptions.

I'll look at fixing this probably after #3391 or something like it gets merged since it'll be much more noticeable at that point.

ChrisPenner avatar Sep 15 '22 20:09 ChrisPenner

all of which I believe is unnecessary under the new "self-contained namespaces" assumptions.

Today we talked about a violation of the "self-contained namespaces" assumption that is going to be common. If you update a type, then you will have a bunch of references to the previous (and now unnamed) type until you finish your entire todo list.

ceedubs avatar Nov 02 '22 02:11 ceedubs

probably fixed with #5041

aryairani avatar Jun 15 '24 12:06 aryairani

I think this was probably already fixed when we removed the global root ppe fallback, but project-roots can't hurt either :)

ChrisPenner avatar Jun 17 '24 22:06 ChrisPenner