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

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

куска?

6 ответов

35 просмотров

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
> Это сворешенно неважно. Важно то, что сам по себ...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта