[#35961] require performance on 1.9 — Xavier Shay <xavier-list@...>
Hello,
[#35985] [Backport92 - Backport #4641][Open] Please backport r31418 to 1.9.2 stable branch — Aaron Patterson <aaron@...>
[#36013] [Ruby 1.9 - RubySpec #4649][Open] Adding parallel constructors to Ruby 2.0 — Rodrigo Rosenfeld Rosas <rr.rosas@...>
[#36046] [Ruby 1.9 - Bug #4655][Open] String#to_c does not support scientific notation — Tinco Andringa <mail@...>
[#36058] draft schedule of Ruby 1.9.3 — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
Hi Yugui, is there any plans for the next patch release of 1.9.2?
[#36108] [Ruby 1.9 - Bug #4666][Open] set ruby compatibility version to 1.9.3 in trunk — Lucas Nussbaum <lucas@...>
Lucas Nussbaum <lucas@lucas-nussbaum.net> wrote:
> Even if 1.9.3 is still binary-compatible with 1.9.1, I think that it would be easier to change
2011/5/12 Urabe Shyouhei <shyouhei@ruby-lang.org>:
[#36131] Re: [ruby-cvs:38172] Ruby:r30989 (trunk): * include/ruby/win32.h: define WIN32 if neither _WIN64 nor WIN32 defined. it forces to use push/pop for pack(4) pragma. — "Yuki Sonoda (Yugui)" <yugui@...>
Hi arton,
Hi,
[#36150] [Ruby 1.9 - Bug #4680][Open] [PATCH] io.c: fix busy wait with sendfile() — Eric Wong <normalperson@...>
[#36156] [Ruby 1.9 - Bug #4683][Open] [PATCH] io.c: copy_stream execute interrupts and retry — Eric Wong <normalperson@...>
[#36167] [Ruby 1.9 - Bug #4421] [ext/openssl] Fix RSA public key encoding — Hiroshi NAKAMURA <nakahiro@...>
[#36255] Whitespace conventions? — Steve Klabnik <steve@...>
So, while working on some documentation, I've noticed that there's a lot of
2011/5/17 Steve Klabnik <steve@steveklabnik.com>:
[#36285] unable to load irb, 1.9.3 mingw — Roger Pack <rogerdpack2@...>
Hello all, with mingw 1.9.3, I get the following when trying to load irb:
[#36314] [Ruby 1.9 - Bug #3167] RDoc issues in interactive mode — Benoit Daloze <redmine@...>
[#36316] [Ruby 1.9 - Bug #4731][Open] ruby -S irb fails with mingw/msys vanilla builds — Roger Pack <rogerpack2005@...>
Hi,
On Sat, Jul 16, 2011 at 7:46 AM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#36322] [Ruby 1.9 - Bug #4734][Assigned] [ext/openssl] DSA#sign error — Martin Bosslet <Martin.Bosslet@...>
[#36337] [Ruby 1.9 - Feature #3905] rb_clear_cache_by_class() called often during GC for non-blocking I/O — Akira Tanaka <akr@...>
Akira Tanaka <akr@fsij.org> wrote:
Hi,
SASADA Koichi <ko1@atdot.net> wrote:
[#36373] [Ruby 1.9 - Bug #4757][Open] Attempt to make Enumerator docs more clear (patch included) — David Copeland <davetron5000@...>
2011/5/25 Yusuke Endoh <mame@tsg.ne.jp>:
[#36374] [Ruby 1.9 - Bug #4758][Open] yaml file not human readable when saving utf-8 — Ilias Lazaridis <ilias@...>
[#36390] [Ruby 1.9 - Feature #4766][Open] Range#bsearch — Yusuke Endoh <mame@...>
On Jul 17, 2011, at 7:54 PM, Eric Hodel wrote:
[#36395] [Ruby 1.9 - Bug #4769][Open] Updated SMTP standards — "J.R. Garcia" <mrjohngarcia@...>
[#36406] 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>
Hello core people,
2011/5/23 Urabe Shyouhei <shyouhei@ruby-lang.org>:
Hi Luis,
From: Urabe Shyouhei <shyouhei@ruby-lang.org>
From: Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
Ping Luis, how's it going?
On Fri, Jun 3, 2011 at 5:18 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
Hi,
On Sun, Jun 5, 2011 at 4:30 AM, Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> wrote:
(06/06/2011 01:16 PM), Luis Lavena wrote:
On Mon, Jun 6, 2011 at 1:24 AM, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
From: Luis Lavena <luislavena@gmail.com>
[#36419] [Ruby 1.9 - Feature #4772][Open] Hash#add_keys — Joey Zhou <yimutang@...>
[#36429] GC thought — Roger Pack <rogerdpack2@...>
Hello all.
[#36447] [Ruby 1.9 - Bug #4777][Open] Ruby 1.9.2-p180 ignoring INT, TERM, and QUIT until it receives CONT — Nathan Sobo <nathansobo@...>
[#36463] [Ruby 1.9 - Feature #4778][Open] IO#each_chomped — Joey Zhou <yimutang@...>
[#36474] Error reporting, backtraces and the debugger — Clifford Heath <clifford.heath@...>
Dear people,
[#36479] [Ruby 1.9 - Feature #4784][Open] Import the JSON library — Lazaridis Ilias <ilias@...>
[#36494] [Ruby 1.9 - Feature #4786][Open] RCR new Feature: Numeric#grouped — Roger Pack <rogerpack2005@...>
[#36528] [Ruby 1.9 - Bug #4795][Open] Nested classes don't seem to resolve correctly when another class exists with the same name — John Feminella <johnf@...>
[#36536] [Ruby 1.9 - Bug #3924] Performance bug (in require?) — Xavier Shay <xavier-list@...>
[#36550] [Ruby 1.9 - Bug #4798][Open] test_process and test_signal errors and halts on Windows — Luis Lavena <luislavena@...>
[#36551] [Ruby 1.9 - Bug #4799][Open] M17N tests are too JP specific — Luis Lavena <luislavena@...>
[#36558] [Ruby 1.9 - Bug #3924] Performance bug (in require?) — Xavier Shay <xavier-list@...>
Hello,
Hello, Xavier
[#36559] [Ruby 1.9 - Feature #4801][Open] Shorthand Hash Syntax for Strings — Tom Wardrop <tom@...>
Hi,
> Iff 'key': 'value'} means {:key => 'value'} I have no objection.
Hi,
On Mon, May 30, 2011 at 04:21:32PM +0900, Yukihiro Matsumoto wrote:
Em 30-05-2011 07:58, Cezary escreveu:
Since :"#{abc}" is allowed in Ruby, I imagine that any such substitute syntax would preserve that property.
Em 30-05-2011 09:05, Michael Edgar escreveu:
On Mon, May 30, 2011 at 09:05:04PM +0900, Michael Edgar wrote:
Cezary:
On Tue, May 31, 2011 at 05:55:39AM +0900, Piotr Szotkowski wrote:
On May 30, 2011, at 10:19 AM, Cezary wrote:
On 5/30/11 9:24 AM, Michael Edgar wrote:
On 02/06/2011, at 10:28 AM, Kurt Stephens wrote:
On 6/1/11 10:17 PM, Bill Kelly wrote:
[#36565] [Ruby 1.9 - Bug #4803][Open] RCLASS_SUPER won't compile for C extensions as of revision 31627 — Daniel Azuma <dazuma@...>
Hi,
[#36628] [Ruby 1.9 - Feature #4805][Open] Add X509::Name#hash_old for 0.9.X compat — Hiroshi NAKAMURA <nakahiro@...>
[ruby-core:36407] [Ruby 1.9 - Bug #3924] Performance bug (in require?)
Issue #3924 has been updated by Xavier Shay. File require_performance.diff added Progress update: Didn't make much impact on the graph in prior update, but also may have been to eager to blame slow rails loading on it - rails only has ~50 entries in the load path. I added a cache to file expansion (so it remembers the expanded path of 'active_record" without having to search for it), which gave a ~0.5s speed up on a blank rails app, and ~6s on a medium sized one. This patch is now faster than 1.9.2 in all benchmarks I have, and *way* faster than 1.9.3dev (though it has been that for a while). I suspect there are further optimizations that could be made, especially now the code is easier to follow. I have attached a diff. It passes `make test`, `make test-all`, and a few big rails test suites. There are still some outstanding issues on which need discussion. 1) This is pretty much a rewrite for load.c, since I couldn't get my head around `rb_feature_p`. That means it's risky. It is likely possibly to add a hash-table lookup to the existing architecture, but someone else would have to volunteer to do this. On the up side, it is far easier to follow the algorithm in the new code. 2) It doesn't use the file search functions in `file.c`, so I suspect there could be some safe level issues not covered yet. 3) I have made public (non-static) one or two functions in `file.c` and `array.c`. Is this OK? Pretty sure I could rewrite to avoid doing this if necessary. 4) `rb_provide` doesn't really make sense. It was being used in `enumerator.c` but I found another method of providing backwards compatibility. Since it is in `intern.h`, it can maybe just be removed? 5) I use a proxy class for $LOADED_FEATURES to keep the loaded features hash up to date. Is this OK? Bit of a hack but I couldn't come up with a nicer way of doing it. 6) Is it OK to add a new member to the VM struct? I added new_loaded_features (to be renamed shortly). 7) Not tested on windows yet. 8) The code would be nicer if some related functions could be moved to another file (rb_locate_*), I don't know the best way to do this though. ---------------------------------------- Bug #3924: Performance bug (in require?) http://redmine.ruby-lang.org/issues/3924 Author: Carsten Bormann Status: Open Priority: Normal Assignee: Category: core Target version: 1.9.3 ruby -v: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10] =begin Running irb < /dev/null in 1.9.2 causes 3016 calls to lstat64. For instance, there is a sequence of 28 repetitions each of lstat calls to all 6 non-empty path prefixes of /opt/local/lib/ruby1.9/1.9.1/irb.rb -- a total of 170 lstats apparently just to load this file; another set of lstats then occurs later for another 18 (times 6) times. Clearly, something is running amok in the calling sequence rb_require_safe -> realpath_rec -> lstat. Another example: Running a simple test with the baretest gem causes 17008 calls to lstat. According to perftools.rb, 80 % of the 1.2 seconds of CPU is used in Kernel#gem_original_require (and another 12 in GC, some of which may be caused by this). =end -- http://redmine.ruby-lang.org