From: matz@... Date: 2018-02-20T06:34:44+00:00 Subject: [ruby-core:85673] [Ruby trunk Feature#8158] lightweight structure for loaded features index Issue #8158 has been updated by matz (Yukihiro Matsumoto). @funny_falcon? Will you be a committer? Matz. ---------------------------------------- Feature #8158: lightweight structure for loaded features index https://bugs.ruby-lang.org/issues/8158#change-70465 * Author: funny_falcon (Yura Sokolov) * Status: Closed * Priority: Normal * Assignee: nobu (Nobuyoshi Nakada) * Target version: ---------------------------------------- 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 ---Files-------------------------------- 0001-load.c-reduce-memory-usage-of-loaded_features_index.patch (5.99 KB) load.c-loaded_features_numindex.patch (4.99 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>