LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

Ну, кстати, раз зашла речь об эффективности GC, то JVM не может быть универсальной. Это уже проходили с .NET.

Простой пример. Сборщик мусора GC языка Haskell использует информацию о неизменяемости данных. Буквально, это значит, что старые данные не могут ссылаться на новые. Как заверяют разработчики, это дает значительный бонус сборщику мусора GC при переполнении так называемых «яслей» (в JVM аналогом яслям будет Эдем - ох, уж и названия!). То есть, рантайм языка Haskell заведомо должен быть и, скорее всего, является более эффективным, чем мог бы гипотетически быть рантайм JVM на программах, скомпилированных с языка Haskell.

Думаю, что похожие примеры можно найти и для других языков. Касательно JavaScript, думается, что различные рантаймы яваскрипта также используют какую-то дополнительную информацию.

Это возвращаясь к известному тезису, что «универсальных решений не бывает». А потому сомнительна идея все делать через JVM. Да и этот боксинг с type erasure иногда не то чтобы выбешивают, но дают повод задуматься о выборе платформы программирования

Исходная версия dave, :

Ну, кстати, раз зашла речь об эффективности GC, то JVM не может быть универсальной. Это уже проходили с .NET.

Простой пример. Сборщик мусора GC языка Haskell использует информацию о неизменяемости данных. Буквально, это значит, что старые данные не могут ссылаться на новые. Как заверяют разработчики, это дает значительный бонус сборщику мусора GC при переполнении так называемых «яслей» (в JVM аналогом яслям будет Эдем - ох, уж и названия!). То есть, рантайм языка Haskell заведомо должен быть и, скорее всего, является более эффективным, чем рантайм JVM на программах, скомпилированных с языка Haskell.

Думаю, что похожие примеры можно найти и для других языков. Касательно JavaScript, думается, что различные рантаймы яваскрипта также используют какую-то дополнительную информацию.

Это возвращаясь к известному тезису, что «универсальных решений не бывает». А потому сомнительна идея все делать через JVM. Да и этот боксинг с type erasure иногда не то чтобы выбешивают, но дают повод задуматься о выборе платформы программирования