On Friday, 15 January 2021 at 19:49:34 UTC, Ola Fosheim Grøstad
wrote:
On Friday, 15 January 2021 at 19:37:12 UTC, Guillaume Piolat
wrote:
A small GC heap is sufficient.
There is this blog post where there was a quantitative measure
of the sub-1ms D GC heap size.
That's ok for a small game, but not for applications that grow
over time or projects where the requirement spec is written
(and continually added to) by customers. But for enthusiast
projects, that can work.
Many open source projects (and also some commercial ones) work
ok for small datasets, but tank when you increase the dataset.
So "match and mix" basically means use it for prototyping, but
do-not-rely-on-it-if-you-can-avoid-it.
Switching to ARC looks more attractive, scales better and the
overhead is more evenly distributed. But it probably won't
happen.
Isn't it more theoretical/imaginary/hypothetical than something
really measured from a real-world use case? Almost all large
software use cases I've seen used mix and match.
(BTW ARC is also another form of GC)
Unreal game engine
https://mikelis.net/garbage-collection-in-ue4-a-high-level-overview/
Unity (of course)
https://docs.unity3d.com/Manual/UnderstandingAutomaticMemoryManagement.html
Legends have it that almost every major software project in ANY
system language ends up writing custom allocators and
containers.