Forum: Ruby gen GC

0e6ac58dab6125c1cd2e7ac645076b6f?d=identicon&s=25 Joel VanderWerf (Guest)
on 2014-03-31 19:28
(Received via mailing list)
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-g...

[2]
https://lobste.rs/s/dx1clw/ruby_garbage_collection...

[3] Btw, do check out lobste.rs -- it's a great news aggregator for
programming with minimal noise.
A7fca2db6ff3f4583df98043bd5166f9?d=identicon&s=25 Panagiotis Atmatzidis (Guest)
on 2014-03-31 19:56
(Received via mailing list)
Attachment: signature.asc (832 Bytes)
On 31 Μαρ 2014, at 19:27 , Joel VanderWerf <joelvanderwerf@gmail.com>
wrote:

> lobste.rs

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


Panagiotis (atmosx) Atmatzidis

email:  atma@convalesco.org
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
18813f71506ebad74179bf8c5a136696?d=identicon&s=25 Eric Wong (Guest)
on 2014-03-31 19:57
(Received via mailing list)
Joel VanderWerf <joelvanderwerf@gmail.com> 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 https://bugs.ruby-lang.org/issues/9518

> Hope to hear your thoughts, ruby folks...
>
> [1]
http://www.omniref.com/blog/blog/2014/03/27/ruby-g...
>
> [2]
https://lobste.rs/s/dx1clw/ruby_garbage_collection...
>
> [3] Btw, do check out lobste.rs -- it's a great news aggregator for
> programming with minimal noise.

I cannot stand <form> elements on any web browsers (nor most GUIs).
Any SMTP/IMAP/NNTP gateways?
0e6ac58dab6125c1cd2e7ac645076b6f?d=identicon&s=25 Joel VanderWerf (Guest)
on 2014-03-31 20:55
(Received via mailing list)
On 03/31/2014 10:55 AM, Panagiotis Atmatzidis wrote:
>
> On 31 ?????? 2014, at 19:27 , Joel VanderWerf <joelvanderwerf@gmail.com> wrote:
>
>> lobste.rs
>
> Is this an HN clone? The interface looks neat but who's behind it and how does
moderation work? :-)

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:

https://github.com/jcs/lobsters

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
0e6ac58dab6125c1cd2e7ac645076b6f?d=identicon&s=25 Joel VanderWerf (Guest)
on 2014-03-31 20:59
(Received via mailing list)
On 03/31/2014 10:57 AM, Eric Wong wrote:
> Joel VanderWerf <joelvanderwerf@gmail.com> wrote:
...
>> [3] Btw, do check out lobste.rs -- it's a great news aggregator for
>> programming with minimal noise.
>
> I cannot stand <form> 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.
18813f71506ebad74179bf8c5a136696?d=identicon&s=25 Eric Wong (Guest)
on 2014-03-31 21:28
(Received via mailing list)
Joel VanderWerf <joelvanderwerf@gmail.com> 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:
>
> https://lobste.rs/invitations

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
0e6ac58dab6125c1cd2e7ac645076b6f?d=identicon&s=25 Joel VanderWerf (Guest)
on 2014-03-31 21:46
(Received via mailing list)
On 03/31/2014 12:28 PM, Eric Wong wrote:
> Joel VanderWerf <joelvanderwerf@gmail.com> 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:
>>
>> https://lobste.rs/invitations
>
> 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:

https://lobste.rs/s/bf5adj/hacker_news_implementin...

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.)
A7fca2db6ff3f4583df98043bd5166f9?d=identicon&s=25 Panagiotis Atmatzidis (Guest)
on 2014-03-31 22:21
(Received via mailing list)
Attachment: signature.asc (832 Bytes)
Hello,

On 31 Μαρ 2014, at 21:28 , Eric Wong <normalperson@yhbt.net> wrote:

> Joel VanderWerf <joelvanderwerf@gmail.com> 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:
>>
>> https://lobste.rs/invitations
>
> 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 :-)

>
>
> 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:  atma@convalesco.org
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
E0d864d9677f3c1482a20152b7cac0e2?d=identicon&s=25 Robert Klemme (robert_k78)
on 2014-04-01 10:51
(Received via mailing list)
On Mon, Mar 31, 2014 at 7:27 PM, Joel VanderWerf
<joelvanderwerf@gmail.com> 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
85991f138ede6236f35eb98da22b7b01?d=identicon&s=25 Marvin Gülker (quintus)
on 2014-04-01 11:32
(Received via mailing list)
Attachment: signature.asc (555 Bytes)
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           | http://gnupg.org/index.de.html
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.