General

Profile

hsbt (Hiroshi SHIBATA)

  • Login: hsbt
  • Email: hsbt@ruby-lang.org
  • Registered on: 04/26/2009
  • Last sign in: 05/15/2026

Issues

open closed Total
Assigned issues 32 407 439
Reported issues 13 225 238

Projects

Project Roles Registered on
Ruby Committer, Contributor, Release Manager, Security team, Infrastructure team 01/25/2013

Activity

06/12/2026

05:03 AM Ruby Feature #12639 (Closed): Speed up require in RubyGems by 5x
The performance gap this patch targeted has been mostly eliminated by incremental optimizations in RubyGems since 2016.
Running the benchmark in the description on current master shows 1.47x (about 80ns per call) instead of 5x, becaus...
hsbt (Hiroshi SHIBATA)
04:49 AM Ruby Feature #13508 (Closed): How remove/refactor code related mathn library.
All the items in this ticket have been resolved.
The mathn-specific code in array.c, complex.c, rational.c and enum.c was removed at https://github.com/ruby/ruby/commit/b958e2add835d62c0a62edaf9a23ecbbd70a3635 (https://github.com/ruby...
hsbt (Hiroshi SHIBATA)
03:56 AM Ruby Revision fe5d317d (git): [ruby/psych] Test other whitespace separators in datetime-like strings
The TIME pattern accepts any whitespace run between date and time, so
cover vertical tab, carriage return, form feed, and mixed separators
in addition to the plain tab case.
https://github.com/ruby/psych/issues/691
https://github.com/r...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 8713805e (git): [ruby/rubygems] Update the versions file before fetching infos in parallel
When the compact index client has been released after resolution and is
lazily rebuilt, for example by bundle cache --all-platforms, its first
use happens inside the parallel fetch workers. They then race to create
the client and update ...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 25bd391d (git): [ruby/rubygems] Synchronize remote_specs memoization
The remote index can now be released and lazily rebuilt while parallel
install workers are running, so guard the memoization with a mutex to
avoid concurrent duplicate builds.
https://github.com/ruby/rubygems/commit/d0d353954e
Co-Autho...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision dc70cf98 (git): [ruby/rubygems] Scope the default gem check to RubyGems sources
The bundler spec comes from the metadata source and is a default gem on
any modern Ruby, so checking all specs disabled the memory release for
every install. Only default gems from RubyGems sources go through
cached_built_in_gem during i...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 722225cf (git): [ruby/rubygems] Keep resolution memory when installing default gems
Downloading a default gem always goes through cached_built_in_gem,
which searches the remote index, so releasing it up front would force
a full rebuild in the middle of parallel installation.
https://github.com/ruby/rubygems/commit/0aea...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 35a2995e (git): [ruby/rubygems] Fetch a single name when caching built-in gems
cached_built_in_gem only needs the remote versions of one gem, so
searching the full remote index is wasteful when it is not already
materialized, for example after resolution memory has been released.
https://github.com/ruby/rubygems/c...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 6d034316 (git): [ruby/rubygems] Release resolution memory before installing gems
Resolution retains an EndpointSpecification for every version of every
gem in the dependency closure, plus parsed checksums for all ~190k gems
in the compact index, none of which are needed once the resolution
result has been materialize...
hsbt (Hiroshi SHIBATA)
03:09 AM Ruby Revision 3d959cb1 (git): [ruby/rubygems] Drop explicit GC.start when releasing resolution memory
This was the only forced GC in the codebase and would inject a full
mark pause into any future caller of release_resolution_memory!.
Allocation pressure during installation triggers major GCs soon enough
anyway: peak RSS of the same cold...
hsbt (Hiroshi SHIBATA)

Also available in: Atom