General

Profile

byroot (Jean Boussier)

Issues

open closed Total
Assigned issues 1 33 34
Reported issues 25 154 179

Projects

Project Roles Registered on
Ruby Committer 09/27/2021

Activity

10/17/2026

12:21 PM Ruby Bug #22452: `rb_equal` returns true for `NaN == NaN`
Possibly a duplicate of [Bug #1720] where it was established that `Float::NaN == Float::NaN` is "undefined" therefore OK.
It seems that the motivation was to not prevent optimization of `rb_equal`.
byroot (Jean Boussier)
12:00 PM Ruby Bug #22452 (Open): `rb_equal` returns true for `NaN == NaN`
I noticed this while trying to cleanup and simplify `rb_equal`.
```ruby
>> Float::NAN == Float::NAN
=> false
> ...
=> 0
```
I would expect it to return `nil`.
`Array#index` is just an example, any core method, and even C ext...
byroot (Jean Boussier)
08:37 AM Ruby Bug #22451: Coderange may be set incorrectly when concatenating a string into itself
Seems to have been present all the way since 1.9. byroot (Jean Boussier)

10/16/2026

05:05 PM Ruby Feature #22446: Speed up several core methods in Array, Range, String, Integer, Float and Time
> you like me to do that for PR #19360?
We don't backport performance patches, only bugfixes.
> ...
I already saw it, but's that's not how Ruby works, that's not for me to decide such a big change with user visible (albeit minor) i...
byroot (Jean Boussier)
08:06 AM Ruby Feature #22446: Speed up several core methods in Array, Range, String, Integer, Float and Time
> Let's ship a better algorithm in 4.1, and an even better one in 4.2, and an even better one if 4.3…
It's not that simple though, there's a maintenance cost to all this (e.g. backports), and these algorithm can have subtly different ...
byroot (Jean Boussier)

10/15/2026

08:47 PM Ruby Misc #22417: DevMeeting-2026-11-12
* [Feature 21308] Replacing dtoa.c implementation with a modern algorithm (byroot)
* Not my ticket, but this has been open for a while.
* While it's not a major hotspot for most applications, it's true that `Float#to_s` and `String...
byroot (Jean Boussier)
08:34 PM Ruby Feature #22446: Speed up several core methods in Array, Range, String, Integer, Float and Time
> Conversions between Float and String:
For this specifically [Feature #21308] has been open for a while. I'd like to see it addressed, but this is a field that's been strangely moving fast with new implementation coming out regularly...
byroot (Jean Boussier)
04:53 PM Ruby Feature #22437: Speed up creation and basic operations of Struct / Data
It would be easier to discuss the implementation if you opened a pull request (even as draft).
For instance I have several concerns about `hidden_ivar_get`:
- Not using atomics (technically tearing isn't a concern for pointer siz...
byroot (Jean Boussier)
06:57 AM Ruby Bug #22406: Process.fork can leave the child unable to resolve hostnames: getaddrinfo helper threads take glibc's resolver lock after releasing the fork lock
> a child that an extension forks with fork(2) and then passes to rb_thread_atfork(), as the C API asks
I remember this being discussed a while ago and I believe that the conclusion was that forking from C wasn't supported. I'm a bit ...
byroot (Jean Boussier)

10/14/2026

09:51 PM Ruby Revision 3602a8b8 (git): Implement RubyVM::ZJIT.max_compile_time_ns
[Feature #22236]
Allows to give a time budget to ZJIT. When ZJIT goes over the budget
it pauses compilation until the budget is raised.
It is best effort, ZJIT may go over, or have no choice but to compile
in some cases, but the goal i...
byroot (Jean Boussier)

Also available in: Atom