From: Nikolai Weibull Date: 2011-01-12T19:55:54+09:00 Subject: [ruby-core:34423] Re: [RubyInstaller] RubyInstaller in 2011? --00163646d5be437c430499a40a87 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2011/1/12 Du=C5=A1an Majki=C4=87 : >> 2. =C2=A0Major, major performance improvements to MRI 1.9.2. >> The kind that will have people switching off of their macs ;-) > > It looks like major startup problem is that Windows isn't caching > rb files, so every ruby init call starts major disk plowing. I=E2=80=99m adding ruby-core. The major problem is that Kernel#require is incredibly slow in 1.9.2: a.rb: require 'unprof' (or any gem) % time PATH=3D/Ruby19/bin:$PATH ruby a.rb Thread ID: 13871796 Total: 0.010000 %self total self wait child calls name 0.00 0.00 0.00 0.00 0.00 1 Global#[No method] /Ruby19/bin/ruby g.rb real: 1.724 user: 0.031 system: 0.015 (2%) % time PATH=3D/Ruby18/bin:$PATH ruby a.rb Thread ID: 26060688 Total: 0.010000 %self total self wait child calls name 0.00 0.00 0.00 0.00 0.00 1 Global#[No method] ruby g.rb real: 0.476 user: 0.000 system: 0.031 (6%) For some reason require does an insane amount of I/O. I=E2=80=99ve attache= d logs that I generated from Process Monitor. (dtruss/strace will generate similar, less verbose, results.) Not only does require stat every directory component leading to the found file, once found, it, if I understand things correctly, makes sure that specification.rb actually exists 148 times! It seems, from some slight debugging, that something funky is going on in rb_get_expanded_load_path/rb_file_expand_path. These results have to be cached to minimize I/O. --00163646d5be437c430499a40a87 Content-Type: application/zip; name="require.zip" Content-Disposition: attachment; filename="require.zip" Content-Transfer-Encoding: base64 X-Attachment-Id: f_giu41qcg0 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 BgAAAAACAAIAagAAAIQaAAAAAA== --00163646d5be437c430499a40a87--