News for hackers. Stuff that matters.
Re:Baby's First Garbage Collector by pcwalton on Sunday December 08, 2013 @07:18PM (#6872204)
Depends. Do you want, for example, a browser that pauses for upwards of 50 ms at a time? How about a game? Go's garbage collector can very much result in 50 ms pauses.

When The Verge reviews new phones, they definitely dock points for a laggy OS, and dropping three frames in a row regularly is considered laggy these days...

Re:Baby's First Garbage Collector by samth on Sunday December 08, 2013 @08:01PM (#6872334)
There are certainly GCs that don't pause for 50ms at a time -- Go's GC is not very good, and they even admit it.

Felix Klock's PhD is an interesting exploration of this: http://www.ccs.neu.edu/home/pnkfelix/thesis/ although his collector does have some long pauses on particularly evil programs (those programs cause much longer pauses on conventional collectors).

Re:Baby's First Garbage Collector by qznc on Monday December 09, 2013 @02:22AM (#6873196)
There are research prototypes for such GCs and usually the performance decreases if you want time guarantees. As far as I know there is no GC, which could be used in a AAA FPS game. Convincing would be CryEngine, UnrealEngine, idTech, SourceEngine, etc starting to use a GC in their rendering, physics, sound parts.
Re:Baby's First Garbage Collector by hornetblack on Tuesday December 10, 2013 @12:02AM (#6879059)
John Carmack suggest that someone should write a engine in more functional way (with GC).

So you would reconstruct all the objects given access to the last frame's memory, (which would immutable). Then run the GC between frames. This may cause problems if a slower computer never has time between frames to run GC. (Running at 27fps trying to reach 30fps, my old Laptop would do this most of the time)

Re:Baby's First Garbage Collector by pjmlp on Monday December 09, 2013 @04:31AM (#6873525)
The Witcher 2 for the XBox 360 has a GC on their engine, although they did face some issues.

http://www.makinggames.de/index.php/magazin/2155_porting_the...

Re:Baby's First Garbage Collector by pcwalton on Sunday December 08, 2013 @10:37PM (#6872719)
> There are certainly GCs that don't pause for 50ms at a time -- Go's GC is not very good, and they even admit it.

Of course. I'm just refuting the specific claim of "ballpark C" performance with an immature GC.

Re:Baby's First Garbage Collector by wtallis on Sunday December 08, 2013 @10:09PM (#6872668)
So? The fact that there are good garbage collectors doesn't save us from popular languages and runtimes with bad GCs. As long as there are people who expect to be taken seriously when they release a GC'd language with a bad GC, manual memory management should not be treated as an obsolete, obscure, or archaic skill.
Re:Baby's First Garbage Collector by jayd16 on Monday December 09, 2013 @02:57AM (#6873285)
You act like most of those phones aren't Java based. Android's GC is actually pretty nice these days.
Re:Baby's First Garbage Collector by bitwize on Monday December 09, 2013 @06:57AM (#6873897)
But all Android phones are still strictly laggier than the iPhone, and part of that is choice of runtime implementation.