3 ms·
>GC can be largely pauseless for many practical purposes and a GC language can be within 2x-3x the performance of C-like languages. To that end, it seems like
by scythe 5y ago
>GC can be largely pauseless for many practical purposes and a GC language can be within 2x-3x the performance of C-like languages.
To that end, it seems like only recently we've seen automatic reference counting [Obj-C, Rust, Swift] and/or compile-time garbage collection [Mercury] in a non-toy implementation. "Breakthrough" is a difficult word because it refers to discovery and impact, with the latter coming long after the former, and it's not clear if ARC is really a game-changer for any serious applications, but it seems interesting at least.
- steveklabnik 5y ago(Rust does not do automatic reference counting)
- dcow 5y agoSure it does: `Arc::new(thing)`
- steveklabnik 5y agoThat is atomic reference counting, not automatic reference counting. With automatic reference counting, you do not need to wrap the variables, and you do not need to increment or decrement the counter. Rust requires that you actively make your values reference counted by wrapping them explicitly, and makes you bump the count explicitly. It uses RAII to decrement the count automatically though.
- deleted 5y ago[deleted]
- wizeman 5y agoAs far as I understand, the Mercury compiler doesn't do compile-time garbage collection (see the LIMITATIONS file).
- alexisread 5y agoFor me, Composita https://concurrency.ch/Content/publications/Blaeser_Component_Operating_System_PLOS_2007.pdf https://concurrency.ch/Content/publications/Blaeser_Componen... and ASAP https://www.semanticscholar.org/paper/ASAP%3A-As-Static-As-Possible-memory-management-Proust/4eb76f9a5b8874328773bf189a22b0975401f373 https://www.semanticscholar.org/paper/ASAP%3A-As-Static-As-P... Seem like a good way forward wrt memory management and concurrency, using ASAP inside a component, and delegating concurrency and component cleanup to Composita. Other languages like Maude http://maude.cs.illinois.edu/w/index.php/The_Maude_System http://maude.cs.illinois.edu/w/index.php/The_Maude_System Are pushing in new directions wrt proof checking.