Re:Faster CPython (2021) [pdf]
by mypalmike on Monday January 24, 2022 @01:34AM
(#30054294)
Garbage collection is an example (probably the most critical current example) where there is a concrete trade-off between the two.
[ Parent
| on HN ]
Garbage collectors are not bottle necks at all, hell, for highly dynamic allocation patterns they beat malloc implementations out of the water in performance.
Of course one should not spam them needlessly, but that’s why value classes are important.
"Comparing runtime, space consumption, and virtual memory footprints over a range of benchmarks, we show that the runtime performance of the best-performing garbage collector is competitive with explicit memory management when given enough memory. In particular, when garbage collection has five times as much memory as required, its runtime performance matches or slightly exceeds that of explicit memory management. However, garbage collection’s performance degrades substantially when it must use smaller heaps. With three times as much memory, it runs 17% slower on average, and with twice as much memory, it runs 70% slower. Garbage collection also is more susceptible to paging when physical memory is scarce. In such conditions, all of the garbage collectors we examine here suffer order-of-magnitude performance penalties relative to explicit memory management."
https://www.cs.tufts.edu/comp/150FP/archive/emery-berger/gc-...