General

Profile

luke-gru (Luke Gruber)

  • Login: luke-gru
  • Email: luke.gru@gmail.com
  • Registered on: 08/19/2011
  • Last sign in: 11/20/2025

Issues

open closed Total
Assigned issues 0 18 18
Reported issues 11 50 61

Projects

Project Roles Registered on
Ruby Committer 06/19/2025

Activity

12/12/2025

10:30 PM Ruby Bug #21696 (Closed): Performance degradation for long running processes in Ruby 4.0.0-preview2
luke-gru (Luke Gruber)
03:12 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
I'm with John that I think this is very promising but should not be introduced in ruby 4.0. It needs more testing to make sure it's working correctly and it needs more benchmarks for more realistic workloads. We can't do that in 2 weeks.... luke-gru (Luke Gruber)

12/11/2025

04:02 PM Ruby Bug #21710 (Closed): Segfault when reading object_id after it is set inside RUBY_INTERNAL_EVENT_NEWOBJ
luke-gru (Luke Gruber)
03:57 PM Ruby Bug #21759 (Closed): `test_fork.rb:78` is failing with `RUBY_MN_THREADS=1`
This has most likely been fixed by https://github.com/ruby/ruby/pull/15392. I can't reproduce the failure on master and the fix was targeting a race condition in the thread scheduler in MN thread mode. luke-gru (Luke Gruber)

11/28/2025

02:49 PM Ruby Bug #21718: TypeError:wrong argument type ... (expected Array)
Ignoring `method_missing` in this case or wrapping the non-array object in an array are the only workarounds I can think of. I don't believe ruby ever ignores `method_missing` like this, so it would be a bit different to do it here.
...
luke-gru (Luke Gruber)

11/20/2025

11:38 PM Ruby Bug #21685: Unnecessary context-switching, especially bad on multi-core machines.
Thanks for taking a look at this and coming up with an implementation, this is great.
I haven't really played around with it much but I did read the code and I have a few thoughts:
* There's 1 deferred wait thread per ractor, which isn...
luke-gru (Luke Gruber)

11/19/2025

10:34 PM Ruby Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
I ran the benchmarks, but unfortunately some of the gems are out of date for anyone looking into this. The Gemfile needs:
```ruby
gem "sqlite3" # instead of "1.4.2"
gem "nio4r", "2.7.5" # instead of "2.5.8"
```
I also had to create a c...
luke-gru (Luke Gruber)

11/13/2025

10:34 PM Ruby Bug #21679: Segfault when ruby calls pthread_detach in rb_getnameinfo
I believe we were getting segfaults because this commit is also not on the 3_4 branch: https://github.com/ruby/ruby/pull/14277/commits/c42ecaeb0489a7e9fc8b245982ee31c5c9ab0125. Our DNS lookups were so fast and racing with the shutdown of... luke-gru (Luke Gruber)

11/11/2025

05:42 PM Ruby Bug #21679 (Closed): Segfault when ruby calls pthread_detach in rb_getnameinfo
We're seeing an issue on our servers running ruby 3.4.7 where we get a SEGV after ruby calls `pthread_detach` on a short-lived pthread that calls `getaddrinfo`. I believe it's related to this glibc bug: https://sourceware.org/bugzilla/sh... luke-gru (Luke Gruber)

10/30/2025

09:14 PM Ruby Revision 2afcdc69 (git): Change load factor of concur. set from 0.5 to 0.75 (#15007)
Before, the 50% load factor was not working correctly with the new capacity
calculation on resize and too many resizes were seen.
Before this change
------------------
Example:
old_capacity = 32
old_size = 16
deleted_entries = 2 (almo...
luke-gru (Luke Gruber)

Also available in: Atom