From: "ko1 (Koichi Sasada)" <redmine@...>
Date: 2013-02-17T14:22:42+09:00
Subject: [ruby-core:52334] [ruby-trunk - Bug #7778] Irb loading generates 17x more open/stat system calls when a locale is set


Issue #7778 has been updated by ko1 (Koichi Sasada).

Category set to lib
Assignee set to keiju (Keiju Ishitsuka)
Target version set to next minor

Is it only for irb?
Same as Ruby command?

----------------------------------------
Bug #7778: Irb loading generates 17x more open/stat system calls when a locale is set
https://bugs.ruby-lang.org/issues/7778#change-36378

Author: lzap (Lukas Zapletal)
Status: Open
Priority: Normal
Assignee: keiju (Keiju Ishitsuka)
Category: lib
Target version: next minor
ruby -v: ruby 2.0.0dev (2013-01-07 trunk 38733) [x86_64-linux]


Hello,

I did just found out that when I have a locale set (e.g. cs_CZ in my case), irb does some extra finding for rb/so files which are being required. That slows down loading time and if you have many rubygems, loading can be really slow.

$ LC_ALL=cs_CZ strace irb < /dev/null 2>&1 | grep ENOENT | wc -l
5195

$ LC_ALL=C strace irb < /dev/null 2>&1 | grep ENOENT | wc -l
293

$ time LC_ALL=cs_CZ irb < /dev/null
real	0m0.262s
user	0m0.165s
sys	0m0.023s

$ time LC_ALL=C irb < /dev/null
real	0m0.084s
user	0m0.066s
sys	0m0.014s

Tested on stable 1.9.3 and also on 2.0 RC1. All the same.


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