-
error_highlight
The gem enhances Exception#message by adding a short explanation where the exception is raised
Enhanced error log messages are always welcome on the ground :)
Reminded me of the work done in elm to explicitly improve their error reporting by deeply considering the user experience [1]
Repo for the newly included error_highlight gem is interesting [2], anyone have more background on this ?
1. Elm “the perfect big report”
https://elm-lang.org/news/the-perfect-bug-report
2. Error_highlight gem repo: https://github.com/ruby/error_highlight
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Good to see IDE support for TypeProf type hints[1]. I've been doing a lot of work in statically typed languages lately. Ruby has been moving towards static types for a while, but the lack of IDE support has always been the dealbreaker for me to pick up Ruby again.
[1] https://github.com/ruby/typeprof/blob/master/doc/ide.md
-
> I’m curious how the impact affects development, deployment, etc.
YJIT is pretty much transparent in production, if not it's likely a bug.
When we tried MJIT in production to compare it against YJIT, it causes lots of request timeouts on deploy, because the JIT warmup would take 10 to 20 minutes and it's much slower during that phase.
But YJIT warms ups extremely fast and with a much lower overhead, it's seemless on deploy.
The only thing you may need to tweak is `--yjit-exec-mem-size`, it defaults to `--yjit-exec-mem-size=256` (MB) which is not quite enough for larger apps.
As for development, it would work, but with code reloading enabled, you'd likely exhaust the executable memory allocation pretty fast, because for now YJIT doesn't GC generated code [0]. It will come soon, hopefully before the 3.1.0 release, but that's one of the reason why it's not enabled by default.
[0] https://github.com/Shopify/yjit/issues/87
-