The problem that I'm concerned about is at a different level.
Say that some process, after completing its work, is deleting
a bunch of stuff. For example, say the NLP subsystem is
done processing a bunch of sentences, and so these need
to be deleted. No other process will access these sentences,
so this should not be a problem.
But, you'd wipe out most of the performance benefits of C++ because
that would mean that people can't control memory usage by themselves.
But that's not the problem! The locking problem is a *much*
worse performance hit than GC could ever be, or so it seems
to me -- the issue is not the performance of the GC, but
the performance of multi-threading.