Size: a a a

Compiler Development

2020 February 03

BD

Berkus Decker in Compiler Development
MaxGraey
Не Всегда. Да и он сейчас у них используется. Думаю IBM как то виднее;)
эт я к тому что оптимизированный cell код писали вручную, сейчас справляется компилер
источник

МБ

Михаил Бахтерев in Compiler Development
Berkus Decker
эт я к тому что оптимизированный cell код писали вручную, сейчас справляется компилер
Компилятор не всегда справляется. Но когда он не справляется, просто забивают.
источник

E

EgorBo in Compiler Development
когда он не справляется - его надо обучить справляться. А не писать новый ЯП :p
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Компилятор не всегда справляется. Но когда он не справляется, просто забивают.
Ага. особенно криптографы) Которые просто забивают на компилятор и фигачат на ассемблере
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Ага. особенно криптографы) Которые просто забивают на компилятор и фигачат на ассемблере
У криптографов алгоритмы сравнительно простые.
источник

M

MaxGraey in Compiler Development
EgorBo
когда он не справляется - его надо обучить справляться. А не писать новый ЯП :p
Тоже верно
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
У криптографов алгоритмы сравнительно простые.
Там дело не в алгоритмах, а в детерминизме и гарантиях contant time execution
источник

МБ

Михаил Бахтерев in Compiler Development
EgorBo
когда он не справляется - его надо обучить справляться. А не писать новый ЯП :p
Иногда семантика нового языка позволяет существенно упростить задачу и ускорить счёт. Взять те же GPU. Если выигрыш 1000 кратный, оно того стоит.
источник

M

MaxGraey in Compiler Development
Это очень наивно полагать, что парадигма программирования или синтаксический схар может ускорить вычисления)
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Там дело не в алгоритмах, а в детерминизме и гарантиях contant time execution
В алгоритмах. Они настолько простые, что необходимо задаваться вопросами о всяких странных материях, чтобы работу не потерять :)
источник

M

MaxGraey in Compiler Development
все равно решает бэкенд - а ему строго говоря должно быть пофиг что там на фронтенде
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Это очень наивно полагать, что парадигма программирования или синтаксический схар может ускорить вычисления)
GPGPU. Map/Reduce. Нет?
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
GPGPU. Map/Reduce. Нет?
То есть все это нельзя решить DSL-ем + фреймворком на том же C++?
источник

KR

K R in Compiler Development
EgorBo
когда он не справляется - его надо обучить справляться. А не писать новый ЯП :p
Оптимизации могут быть хрупкими - вы переменную вставили и какой-нибудь tailrec call перестал срабатывать.
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
все равно решает бэкенд - а ему строго говоря должно быть пофиг что там на фронтенде
Да ладно? Есть такой язычок Haskell, у него вот backend на многие факты о семантике языка полагается.
источник

E

EgorBo in Compiler Development
K R
Оптимизации могут быть хрупкими - вы переменную вставили и какой-нибудь tailrec call перестал срабатывать.
увы так
источник

KR

K R in Compiler Development
EgorBo
увы так
Поэтому часто лучше явная семантика.

Собственно, тут уже инженерная работа - допиливать оптимизатор тли писать новый язык - выбор компромисса.
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
То есть все это нельзя решить DSL-ем + фреймворком на том же C++?
GPU точно нельзя решить. А Map/Reduce - это пример того, как смена парадигмы (не языковой) позволила вывести масштабируемость вычичлений на облачный уровень.
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
Да ладно? Есть такой язычок Haskell, у него вот backend на многие факты о семантике языка полагается.
Есть еще GRIN который умеет работать почти со всеми lazy eval языками, есть GraalVM который еще более абстрагирован от языкового фронтенда)
источник

M

MaxGraey in Compiler Development
Михаил Бахтерев
GPU точно нельзя решить. А Map/Reduce - это пример того, как смена парадигмы (не языковой) позволила вывести масштабируемость вычичлений на облачный уровень.
> GPU точно нельзя решить

https://gpu.rocks/
источник