Gen GC

Ok, trying to generate some discussion on ruby-talk:

A few days ago this article pointed out how generational GC in ruby is
potentially dangerous for production systems[1].

Someone asked on lobste.rs[3] why ruby is being singled out here. Isn’t
this a danger for all languages with gen GC? [2]

Hope to hear your thoughts, ruby folks…

[1]
http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/

[2]

[3] Btw, do check out lobste.rs – it’s a great news aggregator for
programming with minimal noise.

On 31 Μαρ 2014, at 19:27 , Joel VanderWerf [email protected]
wrote:

lobste.rs

Is this an HN clone? The interface looks neat but who’s behind it and
how does moderation work? :slight_smile:

Panagiotis (atmosx) Atmatzidis

email: [email protected]
URL: http://www.convalesco.org
GnuPG ID: 0x1A7BFEC5
gpg --keyserver pgp.mit.edu --recv-keys 1A7BFEC5

“As you set out for Ithaca, hope the voyage is a long one, full of
adventure, full of discovery […]” - C. P. Cavafy

Joel VanderWerf [email protected] wrote:

A few days ago this article pointed out how generational GC in ruby
is potentially dangerous for production systems[1].

Someone asked on lobste.rs[3] why ruby is being singled out here.
Isn’t this a danger for all languages with gen GC? [2]

We have bugs, r45468 fixed one https://bugs.ruby-lang.org/issues/9687
There’s also Bug #9518: Objects in large arrays are leaked - Ruby master - Ruby Issue Tracking System

Hope to hear your thoughts, ruby folks…

[1]
http://www.omniref.com/blog/blog/2014/03/27/ruby-garbage-collection-still-not-ready-for-production/

[2]
Ruby Garbage Collection: Still Not Ready for Production | Lobsters

[3] Btw, do check out lobste.rs – it’s a great news aggregator for
programming with minimal noise.

I cannot stand elements on any web browsers (nor most GUIs).
Any SMTP/IMAP/NNTP gateways?

On 03/31/2014 10:55 AM, Panagiotis A. wrote:

On 31 ??? 2014, at 19:27 , Joel VanderWerf [email protected] wrote:

lobste.rs

Is this an HN clone? The interface looks neat but who’s behind it and how does
moderation work? :slight_smile:

Yes, it’s intended to attract people who prefer to avoid HN, for various
reasons. Read more at:

https://lobste.rs/about

As mentioned on the about page, the source is BSD-licensed on github,
and it’s based on Rails 4 / MariaDB:

The transparency policy (also on the about page) is in stark contrast to
HN.

It’s by invitation, but if you’re on the ruby-talk list it should be
very easy to get one. Let me know if you want to be invited, or just put
your name and details on the invitation queue:

https://lobste.rs/invitations

Cheers!
Joel

On 03/31/2014 10:57 AM, Eric W. wrote:

Joel VanderWerf [email protected] wrote:

[3] Btw, do check out lobste.rs – it’s a great news aggregator for
programming with minimal noise.

I cannot stand elements on any web browsers (nor most GUIs).
Any SMTP/IMAP/NNTP gateways?

Yup. I haven’t used it, but on your profile page you can opt to receive
stories and comments (matching your subscribed tags) as emails. Also,
you are given a unique email address that you can send to, which will
post to the forum.

Joel VanderWerf [email protected] wrote:

It’s by invitation, but if you’re on the ruby-talk list it should be
very easy to get one. Let me know if you want to be invited, or just
put your name and details on the invitation queue:

Login | Lobsters

That is too elitist.

I realize the same could be said for mailing lists which forbid
top-posting and HTML email, but those are technical issues[1] and easily
overcome by anybody willing to do a little reading and configuration.

[1] - top-posting and HTML increase bandwidth use for all subscribers

On 03/31/2014 12:28 PM, Eric W. wrote:

Joel VanderWerf [email protected] wrote:

It’s by invitation, but if you’re on the ruby-talk list it should be
very easy to get one. Let me know if you want to be invited, or just
put your name and details on the invitation queue:

Login | Lobsters

That is too elitist.

Perhaps, but given that invitations can be had for the asking, doesn’t
that trivialize the concept of elitism? Compare with HN:

Now that is certainly elitist.

I wish usenet would come back, or everyone would use mailing lists, but
until then, I need my morning CompSci fix…

(Sorry, OT for ruby-talk.)

Hello,

On 31 Μαρ 2014, at 21:28 , Eric W. [email protected] wrote:

Joel VanderWerf [email protected] wrote:

It’s by invitation, but if you’re on the ruby-talk list it should be
very easy to get one. Let me know if you want to be invited, or just
put your name and details on the invitation queue:

Login | Lobsters

That is too elitist.

I think the idea is to achieve quality audience (emulate HN). But I
don’t like HN’s algorithms so I’ll give this website a go. I received an
invitation in less than 2 hours since the request - you can do a public
request
.

I don’t think it’s bad to have a form of protection from trolls.
Unfortunately elitism (hence racism) can be found all over the place. On
the internet I had an awful experience back in 2000 with the “slackware
community”,
I have the worst opinion for Slackware users and I kept that opinion
even in the years to come when I became proficient with unix-like
systems and I was able to actually find my way through documentation.

Thanks Joel for the invitation but I already got one from a user, so I’m
fine :slight_smile:

I realize the same could be said for mailing lists which forbid
top-posting and HTML email, but those are technical issues[1] and easily
overcome by anybody willing to do a little reading and configuration.

[1] - top-posting and HTML increase bandwidth use for all subscribers

Panagiotis (atmosx) Atmatzidis

email: [email protected]
URL: http://www.convalesco.org
GnuPG ID: 0x1A7BFEC5
gpg --keyserver pgp.mit.edu --recv-keys 1A7BFEC5

“As you set out for Ithaca, hope the voyage is a long one, full of
adventure, full of discovery […]” - C. P. Cavafy

On Mon, Mar 31, 2014 at 7:27 PM, Joel VanderWerf
[email protected] wrote:

Ok, trying to generate some discussion on ruby-talk:

GC is an interesting topic indeed!

A few days ago this article pointed out how generational GC in ruby is
potentially dangerous for production systems[1].

Someone asked on lobste.rs[3] why ruby is being singled out here. Isn’t this
a danger for all languages with gen GC? [2]

That depends on the implementation. On Java’s JVM I have never seen
this. But there you can get long pauses because fragmented memory
triggers a full GC (pre G1).

There is a fundamental problem that no GC can solve completely because
it would require an oracle: long lived objects are usually expensive
for GC. The more often you look at a long lived object without being
able to collect it the more expensive it is (in terms of CPU cycles).
There are various approaches to remedy that to some extent and gen GC
is one of them. But, it cannot get rid of that issue completely: even
if you look at objects in old gen more rarely than you do in young gen
there are typically still some long lived objects (configuration,
central caches) which become more and more costly.

It’s even worse if you have long lived objects that do not live for
the whole application duration but only for a certain period which is
still longer than what the young gen covers. Then you additionally get
the cost of allocation for all these from time to time new objects.

Introducing some manual element (e.g. marking objects obsolete once we
know they are not used any more) is tricky as well especially if you
consider references between “manual” and “automatic” objects. If you
introduce two types of objects the nice aspect of the uniform world of
objects goes away. Etc.

One sign for the complexities of GC is the time it took for Java’s G1
to become production ready: if you look at the research paper you’ll
notice they started work on a pre alpha of Java 5 and it was stamped
production ready in Java 7 (not the initial release). I think all in
all it took 7 years and some quite involved math and implementation
from the first ideas to the fully released version.

Kind regards

robert

Am 31.03.2014 19:27, schrieb Joel VanderWerf:

Ok, trying to generate some discussion on ruby-talk:

A few days ago this article pointed out how generational GC in ruby is
potentially dangerous for production systems[1].

Just as a sidenote: Rubinius had a generational GC from the beginning.
They have blogged about their GC problems as well:

http://rubini.us/2013/06/22/concurrent-garbage-collection/

Valete,
Marvin


Blog: http://www.quintilianus.eu

I will reject HTML emails. | Ich akzeptiere keine HTML-Nachrichten.
|
Use GnuPG for mail encryption: | GnuPG fr Mail-Verschlsselung:
http://www.gnupg.org | The GNU Privacy Guard