Earlier quoted context omitted.
> And deterministic memory management, which is quite rare these days... :) Memory management should be automatic, either by reference counting or GC. I think it is a generation thing until mainstream OS adopt such kind of system programming languages. There are a few OS with such system programming languages, but it only counts when the likes of Apple, Microsoft and Google adopt such languages. Objective-C with ARC,…
Rust's memory management is both (relatively) deterministic and automatic, in that it's easy to figure out exactly when objects are being destroyed if you care but you don't have to do anything yourself to ensure that they're destroyed properly. This is in contrast to C or C++ where you have deterministic destruction but you have to clean up things you have to clean up things on the heap yourself, or Go or Java where…
This is a false belief many C and C++ developers have.
If you use the standard malloc()/free() or new/delete pairs, you are only certain at which point the memory is marked as released by the C or C++ runtime library.
At that point in time the memory can still be marked as in use for the OS and only be released at a later point, just like GC does.
This is one of the reasons why HPC makes use of special allocators instead of relying in the standard implementations.
In the end, this is no different than doing performance measurements to optimize the GC behaviour in GC enabled systems languages.