Size: a a a

WebAssembly — русскоговорящее сообщество

2019 November 03

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
сделаю сюда tl;dr сейчас
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
no thx =)
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
вижу что зависит от длины байткода в байтах
источник
2019 November 04

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
1) если длина байткода превышает лимит - не оптимизируем

2) если у функции достаточно тиков профайлера было, это как минимум 2 (минимальное количество вызовов функции) + (длина байткода деленная на какую константу из лимитов). По всей видимости ее долго подгоняли под нужные значения :)

3) Если данных недостаточно, НО длина байткода очень небольшая и инлайн кеши не менялись - ранняя оптимизация

4) и только потом если ничего из выше не сработало, не оптимизируем
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
теперь tl;dr на tl;rd и попытка ответить на твой вопрос «сколько нужно»

2 + некая пропорция от длины байткода :)
источник

でゲソ in WebAssembly — русскоговорящее сообщество
MaxGraey
Ты понимаешь, что на Rust и C++ все это будет абсолютно иначе выглядить если даже делать портирование максимально близкое?
Самоё забавное что раст имеет бОльшие шансы выиграть на бОльших данных при прямом портировании из си/плюсов в ансейф
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
Eugene Obrezkov
теперь tl;dr на tl;rd и попытка ответить на твой вопрос «сколько нужно»

2 + некая пропорция от длины байткода :)
ясно, сначала оптимизируем ident, потом все остальное
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
😁
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
к слову, пропорция к 1200 байт идет

т.е. там формула 2 + (длина байткода / 1200)

делай подстановку теперь и получишь, что

<1200 = 2 вызова
1200 < x < 2400 = 3 вызова

ну и так далее

@chicoxyzzy
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
что за функция, которая генерит 1,2 КБ байткода?
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
могу отредактировать сообщение и подставить реальные числа :)
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
столько байткода на дискетку 3,5” еле влезет
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
а вообще странная зависимость
а если я стабов напихаю бесполезных, нопов каких-то и прочее

шо оно, медленнее прогреваться теперь будет?
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
хотя их наверное оптимизатор выбросит
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
dce
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
Eugene Obrezkov
а вообще странная зависимость
а если я стабов напихаю бесполезных, нопов каких-то и прочее

шо оно, медленнее прогреваться теперь будет?
раньше ваще не от байткода зависело, а от длины исходника
источник

OS

Oleg Shelajev in WebAssembly — русскоговорящее сообщество
Ну ты всегда можешь dead code напихать
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
там прикол был, что если коммент с лицензией длинный, то всё)
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
это в кранкшафте было
источник

EO

Eugene Obrezkov in WebAssembly — русскоговорящее сообщество
Ҫѐҏӗѫӑ Ҹҋ 🤖
раньше ваще не от байткода зависело, а от длины исходника
да, это помню
источник