Все ли скорости вращения одинаковы? - PullRequest
0 голосов
/ 16 октября 2019

Как мы знаем, wasm может быть "скомпилирован" из cpp c # typcript rust и т. Д. Вопрос в том, будет ли это иметь большое значение для производительности, независимо от того, был ли wasm скомпилирован, например, из cpp или typcript? Или не имеет значения, откуда он был скомпилирован, wasm будет таким же wasm?

Ответы [ 2 ]

2 голосов
/ 16 октября 2019

Нет. Задайте себе вопрос: все ли программы x86, использующие разные языки, имеют одинаковую скорость? Нет.

То же самое происходит с wasm.

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

Они не используют один и тот же набор инструментов, библиотеки, оптимизации и среду выполнения. Даже если вы успешно создали точно такие же двоичные файлы, у вас все равно могут быть разные среды выполнения на стороне хоста (или импортированные функции).

0 голосов
/ 18 октября 2019

Чтобы добавить ответ Bumsik Kim, различия вызваны не только различными реализациями, но и характеристиками исходных языков: различные семантики, такие как статическая или динамическая типизация или (im) изменчивость, делают возможным / ограничивают различные оптимизации. Тот факт, что семантика JavaScript серьезно ограничивает оптимизацию производительности, непосредственно привел к разработке самой WebAssembly.

...