Uses strict Map to fix a compile time regression#4521
Uses strict Map to fix a compile time regression#4521rhendric merged 4 commits intopurescript:masterfrom
Conversation
For extremely large files (14K lines) with a lot of types and instances memory increases dramatically using Lazy Maps, causing swapping and an big increase in compilation time. Switching to a strict map brings compilation performance close to 15.2 levels. Fixes purescript#4491
|
Would you mind adding an entry for this in CHANGELOG.d? (See CHANGELOG.d/README.md for guidance.) Otherwise LGTM, assuming the build raises no issues! And thanks for ferreting this out. |
Done! |
| then env{ _depth = depth', _deepestTopLevelScope = depth' } | ||
| else env{ _depth = depth' } | ||
| where | ||
| where |
There was a problem hiding this comment.
Is this change caused by whitespace? If so, can that be undone?
There was a problem hiding this comment.
Yeah there was a trailing whitespace my editor deleted, I can undo that if you want to keep it
There was a problem hiding this comment.
I say leave it; ordinarily I'd want to keep changes like this from distracting from the diff but this diff is tiny and the change is very unobjectionable.
|
Looks like the ARM builds are not starting again. |
|
Having a look - @JordanMartinez feel free to tag me when this happens |
|
They are back up 👍 |
Description of the change
For extremely large files (14K lines) with a lot of types and instances memory increases dramatically using Lazy Maps, causing swapping and an big increase in compilation time.
Switching to a strict map brings compilation performance close to 15.2 levels.
Fixes #4491
Checklist: