General

Profile

byroot (Jean Boussier)

Issues

open closed Total
Assigned issues 0 29 29
Reported issues 28 142 170

Projects

Project Roles Registered on
Ruby Committer 09/27/2021

Activity

Today

09:52 PM Ruby Revision 8645a948 (git): Right size temporary dump objects
The Range Marshal compat dumper would allocate
an Object with no size information, hence get a 32B slot
with enough space for 2 ivars, then insert 3 ivars causing
it to spill.
This isn't a big problem, but somewhat shows that the interf...
byroot (Jean Boussier)
06:34 PM Ruby Feature #22205: Add deprecation warnings for ruby2_keywords
If `ruby2_keywords` is deprecated, I'll also likely drop support for 2.x rubies in a bunch of gems.
I suppose there isn't much reason to keep it, for a while `ruby2_keywords` was the most efficient way to do blind delegation, but sinc...
byroot (Jean Boussier)

07/21/2026

03:54 PM Ruby Feature #22186: Increase the embeddable size limit for substrings created by `str_subseq()`
Based on the data you've provided, I'm pretty convinced that bumping the limit to at least ~128B would make a lot of sense.
We could also have a different limit depending on the status of the source string. If the source string is alr...
byroot (Jean Boussier)
03:14 PM Ruby Feature #22186: Increase the embeddable size limit for substrings created by `str_subseq()`
Oh nice find, I would never have suspected `split` but it makes sense. Especially a nested split like this. byroot (Jean Boussier)
02:47 PM Ruby Revision 60fb0bae (git): Define Range#begin and Range#end as optimized methods
Since Range is a struct, might as well use optimized accessors. byroot (Jean Boussier)
06:30 AM Ruby Revision 40f105bd (git): Change RStruct to match SHAPE_ID_LAYOUT_EXTENDED
THe downside is that we now always reserve one 8B reference for the
IMEMO/fields, even for structs that never have any ivars.
But it is an acceptable tradeoff given that ivars on structs aren't
rare.
Co-Authored-By: John Hawthorn <john...
byroot (Jean Boussier)

07/20/2026

06:49 AM Ruby Revision 6328380a (git): [ruby/time] Fix `Time.xmlschema` handling leading and trailing whitespaces
https://github.com/ruby/time/commit/8cf52fa3cd byroot (Jean Boussier)

07/19/2026

04:55 PM Ruby Revision 77d0d22b (git): [ruby/time] Optimize `Time.xmlschema` by ~4x
It is currentyl fairly slow as it rely on a Regexp match, which
isn't very fast an allocates a lot.
Since Ruby 3.2, `Time.new(iso_string)` is supported, and over
8x faster than `Time.xmlschema`.
So if we use the regexp with `match?` to...
byroot (Jean Boussier)

07/17/2026

06:07 AM Ruby Feature #22182: Poor man's escape analysis
> we could estimate the gain by benchmarking with a patch that ignores them
Yes that's exactly what I did: https://github.com/Shopify/ruby/commit/bb0cee8daba4b70cedb40b36af05d796956475d6, but that doesn't undo all the constants in `ra...
byroot (Jean Boussier)

07/16/2026

10:10 AM Ruby Feature #22182: Poor man's escape analysis
> those benchmarks already avoid writing, in their hot loops, the kind of slow code that this optimization speeds up
That's a very common problem, it's the same issue with `--enable-frozen-string-literal` which doesn't show much gain ...
byroot (Jean Boussier)

Also available in: Atom