Это не имеет ничего общего с языком программирования. Это вопрос качества реализации сборщика мусора.
Сборщики мусора в реальном времени с предсказуемым и настраиваемым временем паузы известны с 1970-х годов. В настоящее время это становится еще проще: поскольку машины обычно имеют 1000 процессоров, просто отложите пару десятков или около того, чтобы сборщик мусора работал, и выполняйте сборку одновременно.
Например, Azul Jaca Compute Appliance делает именно это. Он специально разработан для очень больших приложений с очень большими кучами и требованиями, близкими к реальному времени (например, автоматизированные торговые системы для хедж-фондов). А поскольку JCA запускает JVM, а на JVM работают и Ruby, и PHP (а также Python, Smalltalk, Lisp, Scheme, JAvaScript и hellip;), они также получают доступ к этой технологии.
Текущая версия (JCA 7300) имеет до 864 процессоров и 768 ГБ оперативной памяти. Как правило, сборщик (-и) мусора будет использовать 20–30 процессоров, оставляя более 700 (JIT-компилятор также использует дюжину или три) для приложений. Это все еще намного больше, чем почти все приложения.