LINUX.ORG.RU

google's woff2 -> node.js webassembly

 


0

1

https://github.com/fontello/wawoff2

Иногда так складывается, что код написан на сишечке, и переписывать его на жыэс не рационально. Было интересно разобраться, как лепить в ноде подобие бинарных биндингов без необходимости пересборки. То есть, через webassembly.

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

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

Как-то так.

★★★★★

В ноде же есть уже async\await синтаксис. И ESModules тоже есть.

anonymous
()
Ответ на: комментарий от anonymous

В данном случае мономорфного кода нет. Оригинал на си. И сравнивать логично с оригиналом. В папке тестов лежит рыба бенчмарка, но доводить его до ума времени не было.

Сравнить мономорфный JS с WA можно тут http://nodeca.github.io/pica/demo/, засунув картику побольше.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.