[#27380] [Bug #2553] Fix pthreads slowness by eliminating unnecessary sigprocmask calls — Dan Peterson <redmine@...>

Bug #2553: Fix pthreads slowness by eliminating unnecessary sigprocmask calls

21 messages 2010/01/03

[#27437] [Feature #2561] 1.8.7 Patch reduces time cost of Rational operations by 50%. — Kurt Stephens <redmine@...>

Feature #2561: 1.8.7 Patch reduces time cost of Rational operations by 50%.

9 messages 2010/01/06

[#27447] [Bug #2564] [patch] re-initialize timer_thread_{lock,cond} after fork — Aliaksey Kandratsenka <redmine@...>

Bug #2564: [patch] re-initialize timer_thread_{lock,cond} after fork

18 messages 2010/01/06

[#27635] [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <redmine@...>

Bug #2619: Proposed method: Process.fork_supported?

45 messages 2010/01/20
[#27643] [Feature #2619] Proposed method: Process.fork_supported? — Luis Lavena <redmine@...> 2010/01/21

Issue #2619 has been updated by Luis Lavena.

[#27678] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27684] Re: [Feature #2619] Proposed method: Process.fork_supported? — Charles Oliver Nutter <headius@...> 2010/01/22

On Thu, Jan 21, 2010 at 11:27 PM, Yukihiro Matsumoto <matz@ruby-lang.org> w=

[#27708] Re: [Feature #2619] Proposed method: Process.fork_supported? — Yukihiro Matsumoto <matz@...> 2010/01/22

Hi,

[#27646] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <redmine@ruby-lang.org>:

[#27652] Re: [Bug #2619] Proposed method: Process.fork_supported? — Hongli Lai <hongli@...99.net> 2010/01/21

On 1/21/10 5:20 AM, Tanaka Akira wrote:

[#27653] Re: [Bug #2619] Proposed method: Process.fork_supported? — Tanaka Akira <akr@...> 2010/01/21

2010/1/21 Hongli Lai <hongli@plan99.net>:

[#27662] Re: [Bug #2619] Proposed method: Process.fork_supported? — Vladimir Sizikov <vsizikov@...> 2010/01/21

On Thu, Jan 21, 2010 at 10:53 AM, Tanaka Akira <akr@fsij.org> wrote:

[#27698] [Bug #2629] ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time — Hongli Lai <redmine@...>

Bug #2629: ConditionVariable#wait(mutex, timeout) should return whether the condition was signalled, not the waited time

8 messages 2010/01/22

[#27722] [Feature #2635] Unbundle rdoc — Yui NARUSE <redmine@...>

Feature #2635: Unbundle rdoc

14 messages 2010/01/23

[#27757] [Bug #2638] ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located. — Joel Soete <redmine@...>

Bug #2638: ruby-1.9.1-p37[68] build on aix5.3 with gcc-4.2 failed to run for me because it ignores where libgcc is located.

10 messages 2010/01/24

[#27778] [Bug #2641] Seg fault running miniruby during ruby build on Haiku — Alexander von Gluck <redmine@...>

Bug #2641: Seg fault running miniruby during ruby build on Haiku

10 messages 2010/01/25

[#27791] [Bug #2644] memory over-allocation with regexp — Greg Hazel <redmine@...>

Bug #2644: memory over-allocation with regexp

12 messages 2010/01/25

[#27794] [Bug #2647] Lack of testing for String#split — Hugh Sasse <redmine@...>

Bug #2647: Lack of testing for String#split

14 messages 2010/01/25

[#27912] [Bug #2669] mkmf find_executable doesn't find .bat files — Roger Pack <redmine@...>

Bug #2669: mkmf find_executable doesn't find .bat files

11 messages 2010/01/27

[#27930] [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — Yusuke ENDOH <mame@...>

Hi jeg2, or anyone who knows the implementation of FasterCSV,

15 messages 2010/01/28
[#27931] Re: [Bug:trunk] some behavior changes of lib/csv.rb between 1.8 and 1.9 — James Edward Gray II <james@...> 2010/01/28

On Jan 28, 2010, at 10:51 AM, Yusuke ENDOH wrote:

[ruby-core:27496] Re: better GC?

From: Brent Roman <brent@...>
Date: 2010-01-08 18:13:22 UTC
List: ruby-core #27496
Paul,

If compatibility with 'C' extensions is not a major concern for you, I'm
curious to learn why you haven't  tried using JRUBY?  Or, have you?

For real-time applications, what's needed is any sort of incremental GC to
replace the current "stop-the-world while I mark and sweep" MRI does now. 
Generational GC is just one means to that end.  MRI needs something that
incrementally collects garbage without copying objects.  In my opinion MRI
cannot simply "give up" compatibility with 'C' extensions without becoming a
new implementation entirely.

The run time of the current collector is roughly proportional to Ruby's
process size.  An optimization that saves memory, even if it adds CPU
cycles, tends to make MRI faster on the whole when dealing with large
numbers of objects.  For this reason alone, you might want to give the MBARI
patches a whirl.

- brent




Paul Brannan wrote:
> 
> On Fri, Dec 11, 2009 at 09:07:16AM +0900, Yukihiro Matsumoto wrote:
>> Yes, but unfortunately it's not small at all.  GC has a lot of
>> trade-offs and difficult technical dependency.  It's not that easy to
>> solve your frustration.  I am happy to be proven wrong (that means
>> patches are welcome).
> 
> As I mentioned to you at the conference, GC is the primary reason I can
> no longer use ruby for production code where I work.  We use perl5 and
> python instead, both of which use reference counting.  (We disable the
> cycle-finding GC in python and don't write code that produces cycles).
> 
> Adding reference counting to ruby would not work with extensions (they
> don't know to increment the reference count) and would probably not be
> what we (the ruby community) want anyway.  The simplicity of writing
> extensions (due to ruby's conservative GC) is part of what makes ruby
> attractive to many people.
> 
> OTOH the dynamic language space is becoming more competitive every year,
> and it would be a shame to see ruby fall behind because it has to remain
> backward compatible.
> 
> Hypothetically, if ruby could give up backward compatibility with
> existing extensions, would the problem become any easier?
> 
> Also, where are the bottlenecks in the GC today?  Is it the number of
> objects that have to be marked?  Could gc_mark itself be optimized so
> the cost of marking any given object is reduced?
> 
> Just brainstorming a bit...
> 
> Paul
> 
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/-ruby-core%3A27135--better-GC--tp26735247p27080151.html
Sent from the ruby-core mailing list archive at Nabble.com.


In This Thread