Size: a a a

Compiler Development

2020 May 10

AY

Anton Yudintsev in Compiler Development
MaxGraey
GCC C вариант без интринсик и развертываний всего в 1.4 раза медленее, так что это все не так уж и важно
Ну да.
Просто может кто не поглянет в исходный код и решит что Раст (как язык) быстрее всяких там Си
А не что у раст тоже есть интринсики и unsafe
источник

M

MaxGraey in Compiler Development
А Java там даже на полборта не вписывается что с интринсиками что без
источник

AY

Anton Yudintsev in Compiler Development
Anton Yudintsev
Ну да.
Просто может кто не поглянет в исходный код и решит что Раст (как язык) быстрее всяких там Си
А не что у раст тоже есть интринсики и unsafe
* как язык для вычисления задачи n тел:)
источник

AY

Anton Yudintsev in Compiler Development
MaxGraey
А Java там даже на полборта не вписывается что с интринсиками что без
Разумеется.
Я далек от мыслей защищать джаву как язык высокой скорости последовательных коммутационных вычислений
источник

AK

Andrei Kurosh in Compiler Development
polunin.ai
Нет, я хочу сказать совершенно другое. Всегда будут фичи, которые кому-то хочется впилить, но не всегда эти фичи экономически и идеологически оправданы. Электричества в Африке нет - это общеизвестный факт. Но есть люди, кого это не смущает, они готовят еду на костре и живут себе припеваючи в своем неведении - ну и на здоровье. А те, кого это не устраивает, переезжают в более продвинутые страны. И все довольны.

И вопрос зачем, если можно развиваться? :))
Уверен что некоторые сейчас бы писали программы на Фортране и Коболе. Но мир перешагнул этот этап. Пора уже и перешагнуть языки без встроенных средств обобщения
Ну так в общем-то и есть. Программист получает больше дворника, но это не значит, что все 100% населения могут (и должны) быть программистами. Оставьте людей в покое, пусть развиваются в своем темпе до того уровня, который кажется им достаточным
источник

AK

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

МБ

Михаил Бахтерев... in Compiler Development
https://norvig.com/java-lisp.html - поучительное к вопросу о производительности. Эх... Опять какой-то суровый оффтопик.
источник

T

Tagir in Compiler Development
Михаил Бахтерев
https://norvig.com/java-lisp.html - поучительное к вопросу о производительности. Эх... Опять какой-то суровый оффтопик.
Кажется, за двадцать лет картина производительности всех языков кардинально поменялась, поэтому это имеет разве что исторический интерес
источник

МБ

Михаил Бахтерев... in Compiler Development
Tagir
Кажется, за двадцать лет картина производительности всех языков кардинально поменялась, поэтому это имеет разве что исторический интерес
Я пробовал написать решение на Си.  Только с третьего раза получилось написать быстрее (компилировал GCC), чем у Норвига (компилировал SBCL). Но я не уверен, что я бы в реальной практике так бы заморачивался с кодом, как заморачивался в этот раз. То есть, быстрее можно, конечно, написать. Но вопрос в том, есть ли у программиста на это силы и время. Может на Rust или Си++ можно без заморочек написать более эффективно? Не знаю.
источник

МБ

Михаил Бахтерев... in Compiler Development
Можно, конечно, позаморачиваться. Будет неплохой текст для Хабры.
источник

C

Constantine in Compiler Development
Make LLVM fast again
https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html

Clang is an “LLVM native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles […]

I’m not sure whether this has been true in the past, but it certainly isn’t true now. Each LLVM release is a few percent slower than the last. LLVM 10 put some extra effort in this area, and somehow managed to make Rust compilation a whole 10% slower, for as yet unknown reasons....
источник

TT

Taras 🦀 Taraskin in Compiler Development
Alex
Там человек сам спросил сам ответил. Я не понял что конкретно Вы хотите узнать про оптимизации
интересует ликбез для нуба зеленого :)
источник

A

Alex in Compiler Development
Taras 🦀 Taraskin
интересует ликбез для нуба зеленого :)
Даже не знаю что Вам сказать. Ликбез - это минимум на лекцию материал. Простыми словами "оптимизация" - преобразование программы с целью улучшения какой-либо характеристики. Улучшать можно разные характеристики: скорость исполнения, размер исполняемого файла, потребление памяти и т.п. Оптимизации бывают разные в зависимости от конкретной ситуации. По остальному - рекомендую либо слушать лекции, либо читать литературу
источник

А

Алексей ayaye :)... in Compiler Development
Alex
Даже не знаю что Вам сказать. Ликбез - это минимум на лекцию материал. Простыми словами "оптимизация" - преобразование программы с целью улучшения какой-либо характеристики. Улучшать можно разные характеристики: скорость исполнения, размер исполняемого файла, потребление памяти и т.п. Оптимизации бывают разные в зависимости от конкретной ситуации. По остальному - рекомендую либо слушать лекции, либо читать литературу
и улучшение одних характеристик может приводить к ухудшению других :)
источник

A

Alex in Compiler Development
Да
источник

p

polunin.ai in Compiler Development
Алексей ayaye :)
и улучшение одних характеристик может приводить к ухудшению других :)
Поэтому оптимизаторы дают оценку своей оптимизации, и если оценка не дотягивает до требуемого минимума оптимизация не производится
источник

A

Alex in Compiler Development
По возможности
источник

PS

Peter Sovietov in Compiler Development
Alex
Даже не знаю что Вам сказать. Ликбез - это минимум на лекцию материал. Простыми словами "оптимизация" - преобразование программы с целью улучшения какой-либо характеристики. Улучшать можно разные характеристики: скорость исполнения, размер исполняемого файла, потребление памяти и т.п. Оптимизации бывают разные в зависимости от конкретной ситуации. По остальному - рекомендую либо слушать лекции, либо читать литературу
Я бы начал с объяснения, почему строгий математический термин "оптимизация" не совсем корректно применять к компиляторам. Хотя компиляторные оптимизации — уже слишком привычное, исторически сложившееся словосочетание.
источник

FO

FORTRAN ONE LOVE in Compiler Development
Peter Sovietov
Я бы начал с объяснения, почему строгий математический термин "оптимизация" не совсем корректно применять к компиляторам. Хотя компиляторные оптимизации — уже слишком привычное, исторически сложившееся словосочетание.
У нас оптимизация времени выполнения программы, поэтому все-таки можно... Только компиляторы пытаются находить эквивалентные записи выражений, которые выполняются меньше.
источник

A

Alex in Compiler Development
Peter Sovietov
Я бы начал с объяснения, почему строгий математический термин "оптимизация" не совсем корректно применять к компиляторам. Хотя компиляторные оптимизации — уже слишком привычное, исторически сложившееся словосочетание.
Потому что на практике не запариваются с формализацией преобразования, а узлы графа ворочают? )
источник