Skip to content

Conversation

@kripken
Copy link
Member

@kripken kripken commented Jan 23, 2026

The External phase considers all externally-visible things and marks them
as such. That includes functions in a public table. The old code ran on each
item and processed it, which turns out to be very slow on Dart: Dart can
have massive tables with many repeated elements, so it is much faster to
first collect the function names in a set, then process those.

This makes --gufa on this large Dart testcase 7.7x faster - not 7.7 percent,
but times: from 393 seconds to 51. (This is the same situation as in #8048,
again the huge table is not something we have handled well.)

@kripken kripken requested a review from tlively January 23, 2026 01:22
@tlively
Copy link
Member

tlively commented Jan 23, 2026

Wow!

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.

2 participants