169 похожих чатов

А можно исходный код на AS и JS для этого

куска?

6 ответов

31 просмотр

WASM (module (func $ga (result i32) i32.const 3) (func (export "xorByThree") (param $lhs i32) (result i32) local.get $lhs call $ga i32.xor)) vanila export const murych_xorCons = () => 3; export const murych_xorer = ( i ) => i ^ murych_xorCons(); код let iter = 10000001; let sumator = 1; while ( iter-- ) { //sumator += xorByThree( iter ); sumator += murych_xorer( iter ); }

Очеивдно что V8 правильно оптимизировал JS код и очень плохо код WASM модуля. Очевидно что код WASM модуля можно оптимизировать схожим образом. Только это не отменяет проблемы. Которая заключается в том, что в лучшем случае WASM не сделает мой код быстрее для числодробилки. Потому что быстрее банального xor вставленного инлоайном ничего быть не может.

MaxGraey- Автор вопроса
Demi Murych
WASM (module (func $ga (result i32) i32.cons...

Понятно. Т.е. тот чудовищный блок как я ипредпологал относиться к cross-boundry между js и wasm. Никто в принципе и не спорит, что это пока очень дорого. Что касается вызова `call $ga`. В AS он бы заинлайнился если бы вы скомпилировали с флагом -O3. И по факту было бы так: (func (export "xorByThree") (param $lhs i32) (result i32) local.get $lhs i32.const 3 i32.xor))

Это сворешенно неважно. Важно то, что сам по себе WASM в его текущем состоянии, не может дать НИЧЕГО для решение ЛЮБЫХ JS задач. За исключением удобного апи для написания кроскопиляторов из разных языков которые априори будут рабооать хзуже чем аналогичная нейтив реализация

MaxGraey- Автор вопроса
Demi Murych
Это сворешенно неважно. Важно то, что сам по себе ...

> Это сворешенно неважно. Важно то, что сам по себе WASM в его текущем состоянии, не может дать НИЧЕГО для решение ЛЮБЫХ JS задач. Это не правда. Он прекрасно справляется с числодробильными задачами намного лучше js. По одной простой причине - LLVM и Binaryen могут позволить намного более дорогой анализ для оптимизаций чем v8 (у которого есть бюджет на инстанцирование)

MaxGraey
> Это сворешенно неважно. Важно то, что сам по себ...

Покажи мне пример любой числодробилки где это так. И я завтра тебе дам код лучше на ваниле

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта