Size: a a a

Compiler Development

2020 February 09

E

EgorBo in Compiler Development
Mar Ort
То, что вы описываете правда, там действительно все это есть. Вопрос главный в том, работает ли это на реальном коде или только на синтетических бенямарках, которые пишут разработчики.
все оптимизации как раз для реального кода, для бенчмарков не принимают. говорю как человек который засабмител уже не один десяток :)
источник

MO

Mar Ort in Compiler Development
И я, говоря, что джит переводит мз Ила в асм имел ввиду, что работают в боевых условиях они так себе
источник

MO

Mar Ort in Compiler Development
EgorBo
все оптимизации как раз для реального кода, для бенчмарков не принимают. говорю как человек который засабмител уже не один десяток :)
вы кажется только пипхолы сабмитите
источник

E

EgorBo in Compiler Development
Mar Ort
вы кажется только пипхолы сабмитите
ноуп, но с них начинал
источник

MO

Mar Ort in Compiler Development
пипхолы может и работают всегда, а вот на счет остального я что-то не очень верю.
источник

AH

Ayrat Hudaygulov in Compiler Development
Mar Ort
пипхолы может и работают всегда, а вот на счет остального я что-то не очень верю.
Ох уж эти вопросы веры в компиляторном чате. Казалось бы возьми, да проверь...
источник

MO

Mar Ort in Compiler Development
Ayrat Hudaygulov
Ох уж эти вопросы веры в компиляторном чате. Казалось бы возьми, да проверь...
А есть бенчмарки, на которых это можно сделать?
источник

I

Ilmir in Compiler Development
Mar Ort
То, что вы описываете правда, там действительно все это есть. Вопрос главный в том, работает ли это на реальном коде или только на синтетических бенямарках, которые пишут разработчики.
Определите, пожалуйста, что вы понимаете под "реальным кодом". У нас, например, код библиотек написан так, чтобы заработали компиляторные оптимизации, а сами компиляторные оптимизации заточены на популярные паттерны в этих библиотеках. Написаны, разумеется, бенчмарки, чтобы проверить, что изменения в компиляторе не пессимизируют случайно библиотеки. Это достаточно реальный код?
источник

MO

Mar Ort in Compiler Development
Ilmir
Определите, пожалуйста, что вы понимаете под "реальным кодом". У нас, например, код библиотек написан так, чтобы заработали компиляторные оптимизации, а сами компиляторные оптимизации заточены на популярные паттерны в этих библиотеках. Написаны, разумеется, бенчмарки, чтобы проверить, что изменения в компиляторе не пессимизируют случайно библиотеки. Это достаточно реальный код?
Я с ходу приложений на дотнете не вспомню, но вот к примеру на решарпере, какой интересно процент срабатывания выше описанных оптимизаций и ускорение
источник

MO

Mar Ort in Compiler Development
Или еще хороший пример асп.нет, какая там интересно ситуация
источник

MO

Mar Ort in Compiler Development
Кажется, что это вполне реальные приложения, которые имеют достаточно продолжительный аптайм, чтобы все успело разогреться и заооптимизироваться
источник

MO

Mar Ort in Compiler Development
Важно ведь еще то, чтобы оптимизации применялись к горячему коду
источник

kO

kikimych O_O in Compiler Development
Ilmir
Определите, пожалуйста, что вы понимаете под "реальным кодом". У нас, например, код библиотек написан так, чтобы заработали компиляторные оптимизации, а сами компиляторные оптимизации заточены на популярные паттерны в этих библиотеках. Написаны, разумеется, бенчмарки, чтобы проверить, что изменения в компиляторе не пессимизируют случайно библиотеки. Это достаточно реальный код?
У вас три бэкенда внизу, openjdk, llvm, v8.
источник

kO

kikimych O_O in Compiler Development
Что есть в данном контексте оптимизации?
источник

E

EgorBo in Compiler Development
Mar Ort
Важно ведь еще то, чтобы оптимизации применялись к горячему коду
для этого у нас слоенная компиляция и АОТ (каунтеры из АОТ переходят в джит)
источник

kO

kikimych O_O in Compiler Development
Или есть куча слоев абстракций на фронте и над каким-то из них трансформации проводятся?
источник

E

EgorBo in Compiler Development
хотя зачем я тебе это говорю, ты же и так знаешь исходники джита 😉
источник

I

Ilmir in Compiler Development
kikimych O_O
Что есть в данном контексте оптимизации?
То, что ускоряет код, сохраняя его семантику. Очевидно же.
источник

BD

Berkus Decker in Compiler Development
Rustem B.
И да, что лучше? gdb or lldb?
для embedded все еще gdb, для остального lldb вполне на уровне.
источник

kO

kikimych O_O in Compiler Development
Ilmir
То, что ускоряет код, сохраняя его семантику. Очевидно же.
Не, я про технику. Программист тоже ускоряет код, сохраняя семантику. Но мы ж за компилятор говорим.
источник