Size: a a a

Compiler Development

2020 April 04

AK

Andrei Kurosh in Compiler Development
MaxGraey
> и в итоге все работает на порядок-два медленнее, чем могло бы.

Нет, JS медленее того же невекторизированного C в 1.5-2x раза всего. JIT-движки для JS сейчас иногда способны обогнать даже managed языки вроде Java. Не всегда конечно, но могут
Я про это и говорю. Из джиеса можно выжать вменяемую производительность - но с условиями. Во-первым, рантайм получается настолько сложен, что их сейчас существует всего сколько - два? И написать еще один экономически нецелесообразно для человечества в целом :) Во-вторых, программисту нужно быть аккуратным и все-таки соблюдать определенные ограничения самому, чтобы не напарываться на постоянные деопты
источник

M

Max in Compiler Development
MaxGraey
Тогда speculative devirtualization для виртуальных методов в GCC и LLVM тоже костыль? Вообще все спекулятивные оптимизации костыль выходит?)
Костыль -- негативно окрашенное слово) но я лишь о том, что на js очень легко писать так, что спекулятивные оптимизации перестают быть эффективными (и видимо так часто происходит в реальной жизни)
источник

а

акварель на мету in Compiler Development
а кстати почему руби ни у кого не получается достойно оптимизировать? столько форков и все не очень...
источник

M

MaxGraey in Compiler Development
акварель на мету
а кстати почему руби ни у кого не получается достойно оптимизировать? столько форков и все не очень...
Тоже самое и с питоном
источник

а

акварель на мету in Compiler Development
акварель на мету
а кстати почему руби ни у кого не получается достойно оптимизировать? столько форков и все не очень...
разве что только jruby но там проблемв с частью рубического стдлиба
источник

а

акварель на мету in Compiler Development
MaxGraey
Тоже самое и с питоном
а что с ним ? вроде бы сейчас уже на адекватном уровне
источник

M

MaxGraey in Compiler Development
акварель на мету
а кстати почему руби ни у кого не получается достойно оптимизировать? столько форков и все не очень...
Посмотрим что будет с MIR от Маркова
источник

M

MaxGraey in Compiler Development
акварель на мету
а что с ним ? вроде бы сейчас уже на адекватном уровне
Это если сравнивать с Ruby, а если сравнивать с Julia или JS то не бо и земля
источник

M

Max in Compiler Development
MaxGraey
Посмотрим что будет с MIR от Маркова
Насколько понимаю, Маркова как раз критикуют за то, что он не использует инлайн кэши и оптимизирует как статически типизированные языки
источник

M

MaxGraey in Compiler Development
Max
Насколько понимаю, Маркова как раз критикуют за то, что он не использует инлайн кэши и оптимизирует как статически типизированные языки
Ок, как насчет Кристал? Он конечно скорее по мотивам руби и статически типизированный, но по крайней мере семантически очень похож
источник

M

Max in Compiler Development
MaxGraey
Ок, как насчет Кристал? Он конечно скорее по мотивам руби и статически типизированный, но по крайней мере семантически очень похож
К сожалению, ничего про него не знаю
источник

AK

Andrei Kurosh in Compiler Development
MaxGraey
Ок, как насчет Кристал? Он конечно скорее по мотивам руби и статически типизированный, но по крайней мере семантически очень похож
Скорее синтаксически, а не семантически
источник

AK

Andrei Kurosh in Compiler Development
акварель на мету
а кстати почему руби ни у кого не получается достойно оптимизировать? столько форков и все не очень...
Имхо причины чисто экономические: если тормозит код на руби/питоне, проще и эффективнее найти в нем узкое место и переписать его на си. А вот для приложений на джиесе альтернативы нет
источник

M

MaxGraey in Compiler Development
Andrei Kurosh
Имхо причины чисто экономические: если тормозит код на руби/питоне, проще и эффективнее найти в нем узкое место и переписать его на си. А вот для приложений на джиесе альтернативы нет
Уже есть;)
источник

AK

Andrei Kurosh in Compiler Development
MaxGraey
Уже есть;)
Ну да, но V8 существовал сколько, 12 лет до появления WA?
источник

AK

Andrei Kurosh in Compiler Development
И насколько я знаю, взаимодействие кода на JS с кодом на WA - все еще довольно жопная история
источник

M

MaxGraey in Compiler Development
Andrei Kurosh
И насколько я знаю, взаимодействие кода на JS с кодом на WA - все еще довольно жопная история
Тулинг это решает, потом будут interface types
источник

M

Max in Compiler Development
MaxGraey
Уже есть;)
А есть ощущение в wasm-сообществе, что доля js значительно сократится в будущем или таких целей нет?
источник

M

MaxGraey in Compiler Development
Max
А есть ощущение в wasm-сообществе, что доля js значительно сократится в будущем или таких целей нет?
GПока нету. Wasm сейчас активно осваивают как раз не web-девелоперы. Да и вне веба он отлично прижился и развивается сейчас
источник

p

polunin.ai in Compiler Development
MaxGraey
Это если сравнивать с Ruby, а если сравнивать с Julia или JS то не бо и земля
Неужели CPython/numba такие медленные?
источник