On Wednesday, 21 January 2015 at 08:51:08 UTC, Ola Fosheim Grøstad wrote:
Implicit concurrent GC collection leads to:

1. less efficient codegen + restrictions related to FFI

No.

2. higher memory usage with limited ability to put upper bounds

Yes, the memory allocated during the collection will be collected at the next cycle,and you can even get into trashing scenario if you allocate faster than you can collect.

3. intermittent pauses

I think you don't quite get what concurrent is about.

4. random cache pollution

If you have a multicore (and you have one) no.

Inconvenient if you try to get the most out of the hardware.

This is all the contrary. As you may have noticed, most memory allocation intensive benchmark in Java tend to outperform their C++ counter part. This is because Java can collect concurrently, giving some level of parallelism for free. Nowadays, multicore machine are all over the place, and getting a part of the workload offloaded on another core for free is something you want in the general case.

Reply via email to