Size: a a a

Compiler Development

2019 September 17

SS

Sergey Sverdlov in Compiler Development
Алексей
То что вы в вашем примере используете только числа совершенно не означает, что в питоне надо будет "платить" только за числа.
Вот - да. Так и есть.
источник

VK

Vladimir Kazanov in Compiler Development
Sergey Sverdlov
Теперь мне понятней причина неэффективности: скрыта в реализации команд, вынужденных на лету разбираться с типами.
Ну есть же многочисленные способы обхода такого рода проблем, в том числе и в Питоне. Другое дело, что в этом языке простота интерпретатора - официальная политика.

Считается, что за скоростью надо обращаться к модулям на Си.
источник

SS

Sergey Sverdlov in Compiler Development
Vladimir Kazanov
Ну есть же многочисленные способы обхода такого рода проблем, в том числе и в Питоне. Другое дело, что в этом языке простота интерпретатора - официальная политика.

Считается, что за скоростью надо обращаться к модулям на Си.
Ага
источник
2019 September 18

E

EgorBo in Compiler Development
https://godbolt.org/z/NXhlrn
не понятно, то ли кланг тупее, толи умнее гцц
источник

E

EgorBo in Compiler Development
// lzcnt has false dependency on the target register on Intel Sandy Bridge and Haswell processors,
   // so insert a XOR target, target to break the dependency via XOR triggering register renaming.
источник

AZ

Alexander Zaitsev in Compiler Development
EgorBo
// lzcnt has false dependency on the target register on Intel Sandy Bridge and Haswell processors,
   // so insert a XOR target, target to break the dependency via XOR triggering register renaming.
а для чего вообще применяется этот трюк с XOR?
источник

E

EgorBo in Compiler Development
разорвать dependency chain и в некоторых случаях позволить цпу выполнить несколько lzcnt/popcnt за раз
источник

AZ

Alexander Zaitsev in Compiler Development
не понимаю, что за dependency chain
источник

E

EgorBo in Compiler Development
грубо говоря одну инструкцию (по ее пропускной способности) можно кинуть пару штук цпу выполнятся но важно чтобы они никак не зависили друг от друга (данные/регистры)
источник
2019 September 19

MO

Mar Ort in Compiler Development
Alexander Zaitsev
не понимаю, что за dependency chain
Чтобы out of order execution работал эфективнее
источник

А

Алексей in Compiler Development
А есть тесты на такую оптимизацию?
источник

А

Алексей in Compiler Development
Пушто с первого взгляда кажется что зависимая инструкция всё равно выполнится позже, в то же время, как если бы не пихали этот ксор
источник

М

Махи in Compiler Development
Привет. Вопрос возник г̶л̶у̶п̶ы̶й̶. Правда ли, что не любой java байтод можно декомпилировать в корректный код (даже если забыть про дженерики).
источник

K

Konstantin in Compiler Development
Это чисто академический интерес?
источник

М

Махи in Compiler Development
Пока да)
источник

K

Konstantin in Compiler Development
Тогда нет, не правда. Всегда можно написать на джаве интерпретатор байт-кода, а сам байт-код загрузить строкой прямо в исходник. Будет корректный код на джаве
источник

AT

Alexander Tchitchigin in Compiler Development
Махи
Привет. Вопрос возник г̶л̶у̶п̶ы̶й̶. Правда ли, что не любой java байтод можно декомпилировать в корректный код (даже если забыть про дженерики).
По факту - да. Наши коллеги пытались декомпилировать Scala и Kotlin - распарсилась от силы половина.
источник

C

Charm in Compiler Development
Alexander Tchitchigin
По факту - да. Наши коллеги пытались декомпилировать Scala и Kotlin - распарсилась от силы половина.
а декомпиляторы в опенсорсе? 🙂
источник

AT

Alexander Tchitchigin in Compiler Development
Ну и теперь уже много лет есть invokedynamic, которому в Java вообще ничего не соответствует.
источник

AT

Alexander Tchitchigin in Compiler Development
Charm
а декомпиляторы в опенсорсе? 🙂
Да, они открытыми декомпиляторами и пытались декомпилировать. 😊
источник