> I have tracked down the remaining performance loss from the above graph to
> load.c:152. On every require, StringValuePtr is called on every loaded
> feature. ruby18 does this also, but my hunch is this is more expensive in
> 1.9 perhaps because of encoding or something?

so it calls StringValuePtr on each member of $LOADED_FEATURES? Why
would that be expensive?

> 1) The loaded_feature_path function, which I cannot find a use for
> (load.c:158)
> 2) The repeated calling of StringValuePtr (load.c:152) for every
> loaded_feature on every require

Do you have benchmarks on the impact of each of these factors?

-r