[#37730] [Ruby 1.9 - Bug #4962][Open] come back gem_prelude! — Yusuke Endoh <mame@...>

24 messages 2011/07/02

[#37840] [Ruby 1.9 - Feature #4985][Open] Add %S[] support for making a list of symbols — Aaron Patterson <aaron@...>

23 messages 2011/07/07

[#37866] [Backport87 - Feature #4996][Open] About 1.8.7 EOL — Shyouhei Urabe <shyouhei@...>

22 messages 2011/07/08

[#37913] [Ruby 1.9 - Bug #5003][Open] Enumerator#next segfaults in OS X Lion (10.7) — Ganesh Gunasegaran <ganesh.gunas@...>

16 messages 2011/07/09

[#37917] [Ruby 1.9 - Feature #5005][Open] Provide convenient access to original methods — Lazaridis Ilias <ilias@...>

13 messages 2011/07/09

[#37932] [Ruby 1.9 - Feature #5008][Open] Equal rights for Hash (like Array, String, Integer, Float) — Suraj Kurapati <sunaku@...>

31 messages 2011/07/09

[#37936] [Ruby 1.9 - Feature #5010][Open] Add Slop(-like) in stdlib and deprecate current OptionParser API — Rodrigo Rosenfeld Rosas <rr.rosas@...>

29 messages 2011/07/09

[#37968] [Ruby 1.9 - Bug #5015][Open] method_added" is called in addition to "method_undefined — Lazaridis Ilias <ilias@...>

14 messages 2011/07/10

[#38096] [Ruby 1.9 - Feature #5033][Open] PATCH: 1.9: gc_mark_children: Avoid gc_mark() tail recursion, use goto again. — Kurt Stephens <ks.ruby@...>

14 messages 2011/07/16

[#38109] [Ruby 1.9 - Bug #5034][Open] C Source Code formatting — Lazaridis Ilias <ilias@...>

18 messages 2011/07/16

[#38171] [Ruby 1.9 - Bug #5047][Open] Segfault (most likely involving require) — Jack Christensen <jack@...>

21 messages 2011/07/18

[#38182] [Ruby 1.9 - Feature #5054][Open] Compress a sequence of ends — ANDO Yasushi ANDO <andyjpn@...>

68 messages 2011/07/19

[#38197] [Ruby 1.9 - Feature #5056][Open] About 1.9 EOL — Shyouhei Urabe <shyouhei@...>

39 messages 2011/07/19
[#38900] [Ruby 1.9 - Feature #5056] About 1.9 EOL — Shota Fukumori <sorah@...> 2011/08/10

[#38902] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — Yukihiro Matsumoto <matz@...> 2011/08/10

Hi,

[#39048] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — SASADA Koichi <ko1@...> 2011/08/22

Hi,

[#39055] Re: [Ruby 1.9 - Feature #5056] About 1.9 EOL — Lucas Nussbaum <lucas@...> 2011/08/23

On 23/08/11 at 06:50 +0900, SASADA Koichi wrote:

[#38295] [Ruby 1.9 - Feature #5064][Open] HTTP user-agent class — Eric Hodel <drbrain@...7.net>

15 messages 2011/07/21

[#38391] [Ruby 1.9 - Bug #5076][Open] Mac OS X Lion Support — Yui NARUSE <naruse@...>

17 messages 2011/07/22

[#38503] [Ruby 1.9 - Feature #5096][Open] offer Logger-compatibility for ext — Eric Wong <normalperson@...>

16 messages 2011/07/25

[#38510] [Ruby 1.9 - Feature #5097][Assigned] Supported platforms of Ruby 1.9.3 — Yui NARUSE <naruse@...>

42 messages 2011/07/26

[#38526] [Backport92 - Backport #5099][Open] Backport r31875 load path performance problem — Aaron Patterson <aaron@...>

19 messages 2011/07/26

[#38538] [Ruby 1.9 - Feature #5101][Open] allow optional timeout for TCPSocket.new — Eric Wong <normalperson@...>

15 messages 2011/07/27

[#38610] [Ruby 1.9 - Feature #5120][Open] String#split needs to be logical — Alexey Muranov <muranov@...>

18 messages 2011/07/30

[#38623] [Ruby 1.9 - Feature #5123][Open] Alias Hash 1.9 as OrderedHash — Alexey Muranov <muranov@...>

14 messages 2011/07/31

[ruby-core:37743] Re: [Ruby 1.9 - Bug #4962] come back gem_prelude!

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2011-07-02 14:48:39 UTC
List: ruby-core #37743
Hi

2011/7/2 Luis Lavena <luislavena@gmail.com>:
>
> Issue #4962 has been updated by Luis Lavena.
>
>
> Yusuke Endoh wrote:
>> There are some approaches to address the problem:
>>
>> 1. to introduce a generational GC; this is impossible until 2.0 because
>> t requires modifications to all extension libraries.
>>
>> 2. to diet rubygems; do not create any string, array, hash, and any
>> bject as much as possible, and do not keep the references to them.
>>
>> 3. to restore gem_prelude.rb to delay loading rubygems.
>>
>> I guess that 3 is a reasonable choice for 1.9.3. ut I'm fine with any
>> solution to fix rubygems if 1.9.3 becomes as fast as 1.9.2 on the
>> benchmarks.
>>
>
> AFAIK, The issue with gem_prelude in the past has been that it loaded by default the latest version of every gem in $LOAD_PATH, not allowing you at later time decide another version.
>
> 1.9.3 is in feature freeze, right? I was hoping Eric Hodel's proposal desscribed in [ruby-core:31885] could be implemented.

Right. but I think this large degression can be considered blocker.
I've compared 192, 192 w/o gem, trunk, trunk w/o gems by following way.

/usr/bin/ruby ../benchmark/driver.rb -v
--executables="192r31932-nogems::~/ruby/bin/ruby-192-r31932
--disable-gems; 192r321932::~/ruby/bin/ruby-192-r31932;
trunk-nogems::~/ruby/bin/ruby-trunk --disable-gems;
trunk::~/ruby/bin/ruby-trunk -I../lib -I. -I.ext/common
../tool/runruby.rb --extout=.ext --" --pattern='bm_'
--directory=../benchmark -r 5


some bench have big degression.

name 192r31932-nogems 192r321932 trunk-nogems trunk
-----------------------------------------------------------------------------------------
vm3_gc 1.041 1.072 1.104 2.055
app_factorial 0.988 0.992 0.993 1.170
io_file_read 2.402 2.420 2.392 2.702
so_ackermann 0.907 0.901 0.896 0.952
so_binary_trees 0.475 0.481 0.480 0.546
so_k_nucleotide 1.768 1.838 1.885 1.963
so_pidigits 0.672 0.675 0.676 0.821


And another some benches have minor degression.

name 192r31932-nogems 192r321932 trunk-nogems trunk
-----------------------------------------------------------------------------------------
app_fib 0.812 0.816 0.792 0.849
app_raise 0.830 0.835 0.808 0.847
app_strconcat 1.703 1.725 1.796 1.862
app_tak 1.131 1.142 1.131 1.157
app_tarai 0.916 0.919 0.921 0.930
app_uri 1.332 1.343 1.383 1.389
io_file_create 3.075 3.088 3.105 3.133
so_array 1.910 1.905 1.856 1.918
so_lists 1.286 1.298 1.290 1.373
so_matrix 1.107 1.101 1.060 1.105
so_reverse_complement 2.016 2.058 2.050 2.119


Briefly says, trunk-nogems is slightly faster than 192-nogems. but
trunk is slower than 192.

In This Thread