Skip to content

Workaround for #15705: slow compilation of Crystal.bufferer_message#15707

Closed
ysbaddaden wants to merge 1 commit intocrystal-lang:masterfrom
ysbaddaden:workaround/15705-slow-compilation-times
Closed

Workaround for #15705: slow compilation of Crystal.bufferer_message#15707
ysbaddaden wants to merge 1 commit intocrystal-lang:masterfrom
ysbaddaden:workaround/15705-slow-compilation-times

Conversation

@ysbaddaden
Copy link
Collaborator

Inlines the inspect of exceptions into the Crystal.buffered_message method to avoid call(s) to Exception#inspect_with_backtrace(IO) that causes a dramatic impact on performance when compiling the crystal compiler (and potentially other applications).

Labeled as regression because Fiber.run calls Crystal.print_buffered that might also exhibit the same issue outside of execution contexts.

Workaround for #15705.

…rer_message`

Inlines the inspect of exceptions into the `Crystal.buffered_message`
method to avoid call(s) to `Exception#inspect_with_backtrace(IO)` that
causes a dramatic impact on performance when compiling the crystal
compiler (and potentially other applications).
@ysbaddaden ysbaddaden added the kind:regression Something that used to correctly work but no longer works label Apr 25, 2025
@ysbaddaden ysbaddaden self-assigned this Apr 25, 2025
@ysbaddaden ysbaddaden marked this pull request as draft April 25, 2025 08:07
@ysbaddaden
Copy link
Collaborator Author

Apparently @HertzDevil just fixed it 🙇

#15708

@ysbaddaden ysbaddaden closed this Apr 25, 2025
@github-project-automation github-project-automation bot moved this from Review to Done in Multi-threading Apr 25, 2025
@ysbaddaden ysbaddaden deleted the workaround/15705-slow-compilation-times branch April 25, 2025 08:49
@ysbaddaden ysbaddaden removed the kind:regression Something that used to correctly work but no longer works label Apr 25, 2025
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.

1 participant