100% over-provisioning is roughly what is currently required for performance by all systems that allow arbitrary allocation of arbitrarily sized data. Including most GC implementations and most malloc/free implementations. (You can of course do much better if you can limit the size or timing of allocations.)