Web Assembly (Wasm), сборка мусора - PullRequest
0 голосов
/ 27 сентября 2018

Я слышал, что Webassembly будет целью компиляции для статически типизированных языков и может быть запущен в браузере.Были сделаны заявления о том, что он может работать в браузере с (близкой к) собственной скоростью.Это потому, что Wasm относительно близок к машинным инструкциям соответствующей машины.

Однако есть два типа языков, которые можно компилировать в Wasm:

  1. Языки с сборкой мусора, например Java, C #
  2. Языки без сборки мусора, например C/ C ++, Rust

В настоящее время я понимаю, что сборка мусора - это процесс, который отрицательно влияет на производительность, поскольку требует циклов ЦП.

Вопрос:

Может ли бытьразница в производительности, если программа на Wasm написана на языке, который имеет сборку мусора, по сравнению с языком, в котором его нет? *

1 Ответ

0 голосов
/ 27 сентября 2018

Предложение GC предназначено исключительно для оплаты по мере использования.То есть программа, не использующая соответствующие инструкции, не должна быть затронута каким-либо образом.

Еще один способ думать об этом, по крайней мере, в том, что касается текущих реализаций Wasm в браузере, заключается в том, что предложение GCпросто дает вам возможность получить доступ к той же куче, в которой живут значения JavaScript. Эта куча существует независимо от того, использует ее Wasm или нет, и в текущей ситуации нет разницы.

...