More thorough tests are required but theoretically speaking the determinism can 
cost cycles. Most modern GCs do not emit write barriers for stack slots (this 
is true for Nim's GC too) but C++ like overloaded assignments/moves do not 
distinguish between stack slots and heap slots... The different solutions to 
get memory safety are really not all that different, you need to track the 
dangerous pointers somehow and most static analysis quickly need to give up. 
("Of course things can escape the local scopes, that's why I'm using a **heap** 
in the first place.")

The fact that the default allocation strategy changes from "thread local" to 
"can be shared between threads" does not help either.

Reply via email to