[#86787] [Ruby trunk Feature#14723] [WIP] sleepy GC — ko1@...

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

13 messages 2018/05/01
[#86790] Re: [Ruby trunk Feature#14723] [WIP] sleepy GC — Eric Wong <normalperson@...> 2018/05/01

[email protected] wrote:

[#87095] [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase — ko1@...

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

9 messages 2018/05/17
[#87096] Re: [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase — Eric Wong <normalperson@...> 2018/05/17

[email protected] wrote:

[ruby-core:87071] Re: [Ruby trunk Feature#14718] Use jemalloc by default?

From: Eric Wong <normalperson@...>
Date: 2018-05-16 09:09:50 UTC
List: ruby-core #87071
[email protected] wrote:
> Personally I don't like the prospect of a hard-coded arena
> count deep in the Ruby source code. It reeks of a code-smell.

I don't like it, either; but it's good enough today for enough
users.  It is far better than massive fragmentation and RSS
usage, and doesn't cost users extra download+install time.

> How was 2 decided upon, where are results to back it up? Why
> note 1 or 3 or 4? What happens when Ruby is run on a 20-core
> machine when Guilds arrive? etc.

As you know, GVL is currently the major bottleneck, so malloc
contention is rare for current Ruby programs and thus one arena
is often sufficient.  That said, having one extra arena (2
total) seemed to help throughput with multithreaded apps when I
experimented years ago.  More arenas did not seem to help.
Mike's current messages and citations seem to reinforce what I
remember from years ago.

Of course, Ruby is currently slow for many other reasons, too;
and part of that can be helped by reducing calls to malloc
entirely, and perhaps reducing native thread contention by
reintroducing lightweight green threads.

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next