From: "funny_falcon (Yura Sokolov)" <funny.falcon@...>
Date: 2013-03-24T16:56:24+09:00
Subject: [ruby-core:53688] [ruby-trunk - Feature #8158][Open] lightweight structure for loaded features index


Issue #8158 has been reported by funny_falcon (Yura Sokolov).

----------------------------------------
Feature #8158: lightweight structure for loaded features index
https://bugs.ruby-lang.org/issues/8158

Author: funny_falcon (Yura Sokolov)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: current: 2.1.0


Use lightweight structure for loaded_features index:

- use hand made simple hash structure, which uses only one memory chunk,
- do not store feature name string, only hash of it, since loaded_feature_path
  will recheck feature name on hash collision
- use single linked lists instead of arrays for storing features indices.
- store this lists inside one array, using array's indices as a reference.

While startup speedup improvement is relatively small compared current implementation,
this one does not need any Ruby Objects at all, so that there is no presure on GC.

https://github.com/ruby/ruby/pull/264.patch
https://github.com/ruby/ruby/pull/264.diff
https://github.com/ruby/ruby/pull/264


-- 
http://bugs.ruby-lang.org/