Conversation

Replying to and
Reference counting *is* a form of garbage collection. It suffers from inability to collect cyclic data structures, incurs more memory overhead than other approaches, and is more costly in terms of memory operations than other approaches. This was known in the 80s.
1
7
Replying to and
Let's start with the definition of "hard realtime" here. "hard realtime" means that there is an upper bound on the execution of an operation. It says nothing about the absolute latency. malloc() in C is a good example. It's usually pretty quick, but it is not realtime.
2
Replying to
They all traverse a list of free chunks to find the next one that's big enough to satisfy the allocation. I once was paid to write the realtime control software for an atomic force microscope. I know that stuff well enough.
2
The jemalloc approach is a mix of O(1) and O(log n) address ordered best-fit via bitmaps (for slabs) and red-black trees (for larger spans) ordered by (size, addr). They layer O(1) free lists on top as caching, and then small thread-local arrays as local caches on top of that.
1