[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>

Currently, ruby/spec is maintained mostly by individuals and enjoys the

13 messages 2016/12/13

[ruby-core:78600] [Ruby trunk Feature#8158] lightweight structure for loaded features index

From: funny.falcon@...
Date: 2016-12-12 10:39:45 UTC
List: ruby-core #78600
Issue #8158 has been updated by Yura Sokolov.

File 0001-load.c-reduce-memory-usage-of-loaded_features_index.patch added

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

* Author: Yura Sokolov
* Status: Assigned
* Priority: Normal
* Assignee: Nobuyoshi Nakada
----------------------------------------
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)


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

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread