Size: a a a

Compiler Development

2020 December 13

K

Kir in Compiler Development
ftell/fseek я имел ввиду
источник

K

Kir in Compiler Development
Но да
источник

dt

d t in Compiler Development
Pavel Samolysov
Это чтобы знать позицию в файле, где цикл начинается?
Для перехода к началу цикла, а не для знания где он там в файле находится.
источник

dt

d t in Compiler Development
Kir
ftell/fseek я имел ввиду
А назывался он видимо floop))
источник

KR

K R in Compiler Development
Pavel Samolysov
Вот интересная статья, заголовочные файлы ещё себя покажут :) в том смысле что компиляция кода,  использующего заголовочные файлы параллелится гораздо лучше чем кода, использующего  модули. Другое дело, что здесь не сравнивается компиляция тонн шаблонов, так как полтора года назад модули С++ не умели в шаблоны. https://www.bfgroup.xyz/cpp_tooling_stats/modules/modules_perf_D1441R1.html
Там какая-то ошибка, либо недоработка компиляторов/сборочной системы/тестов. Это невозможно, чтобы модули были медленнее заголовков.

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

PS

Pavel Samolysov in Compiler Development
Там упор на то, что у модулей есть зависимость друг от друга, а файлы с заголовками Компилируются независимо, тру параллелизм. И при большой глубине графа зависимостей да на большом числе потоков, там начиная с 32 вроде, модули начинают сливать. Ну а при 64 уже и граф зависимостей может быть неглубоким.
источник

PS

Pavel Samolysov in Compiler Development
Про то, что компиляция отдельного файла с заголовками требует существенно больше времени тоже есть.
источник

BD

Berkus Decker in Compiler Development
вся эта плюсовая псевдомодульность большой треш
источник

BD

Berkus Decker in Compiler Development
кстати какую там версию тестировали - мсную или шланговскую?
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
вся эта плюсовая псевдомодульность большой треш
Я её тоже не понимаю, пока у каждого компилятора ещё своя реализация и расширения файлов интерфейсов модулей не совпадают.
источник

PS

Pavel Samolysov in Compiler Development
Berkus Decker
кстати какую там версию тестировали - мсную или шланговскую?
Там кланг и gcc, но тест делался в 19м году
источник

BD

Berkus Decker in Compiler Development
а, ну к 20 году это все перепилили все равно
источник

PS

Pavel Samolysov in Compiler Development
Там в заголовках около 300 констант определялось и все. Взяли бы они буст покомпилили, но тогда модули не умели в шаблоны, не знаю как сейчас.
источник

KR

K R in Compiler Development
Pavel Samolysov
Там упор на то, что у модулей есть зависимость друг от друга, а файлы с заголовками Компилируются независимо, тру параллелизм. И при большой глубине графа зависимостей да на большом числе потоков, там начиная с 32 вроде, модули начинают сливать. Ну а при 64 уже и граф зависимостей может быть неглубоким.
Это лишь означает, что либо модули сделаны неправильно, либо параллелизация. Есть методы распараллеливания, скажем, dfs алгоритма- см lvars
источник

KR

K R in Compiler Development
При этом часть информации получается дважды, но всё равно быстрее, чем тупое прохождение до конца. Как это было бы с include.
источник

KR

K R in Compiler Development
Berkus Decker
вся эта плюсовая псевдомодульность большой треш
Я думаю, что в этом дело - просто всё сделано методами кровавого ынтерпрайза.
источник

BD

Berkus Decker in Compiler Development
K R
Я думаю, что в этом дело - просто всё сделано методами кровавого ынтерпрайза.
если я правильно помню то приняли как раз мсную версию, а тесты еще с шланговской, но я не уверен насчет мс - не следил в этом году особо
источник

AZ

Alexander Zaitsev in Compiler Development
Если кому-то интересны крестовые модули, то вот норм стартовые точки:
https://www.youtube.com/watch?v=iQb6EOk1RM0
https://www.youtube.com/watch?v=iE6TpS8UG_w
источник

LA

Liber Azerate in Compiler Development
источник

BD

Berkus Decker in Compiler Development
По итогам плюсовики говорят, что победили Unified Modules - комбинация из самых худших частей от мс и кланговских.

В любом случае, тесты надо перепровести.
источник