Igor
GCC будет сначала создавать obj файлы сверхбыстро, насколько возможно, а потом уже линковать их одним процессом
Igor
Ни один GCC-like компилятор не умеет в многопоточность изкаробки, потому что существуют make-системы для этого
Lunatic
потому что система не уходит в лаг, тротл и жор памяти
Igor
Я всегда когда make'ом компилирую, задаю аргумент на использование всех ядер процессора
Lunatic
особенно если у тебя скажем 128 ядер и 8гб оперативки
Igor
особенно если у тебя скажем 128 ядер и 8гб оперативки
Если у тебя 128 ядер и, скажем, 128 cpp файлов в проекте, то он соберётся за пару-тройку секунд. Тебе сильно навредит такой лаг?)
Igor
И да, не бывает систем с 128 ядер и 8 гб оперативы, никто такое не соберёт в здравом уме
Igor
Особенно под нужды компиляции больших проектов
Lunatic
да легко на vps у тебя так может оказаться, памяти тебе выдали 8 гигов а процессор не ограничили
Lunatic
сделал cargo build и тебя забанили
Igor
Никто не компилирует на таких VPS проекты
Igor
Такие VPS используются для выполнения огромного количества мелких задач быстрых
Lunatic
я компилировал на vps с 512мб оперативки
Igor
я компилировал на vps с 512мб оперативки
Если ты можешь это сделать, это не значит, что это нужно делать)))
Igor
Я могу сейчас пачку тратила в свой компьютер запихнуть, но это ж не значит, что нужно это делать
Lunatic
ну единственной альтернативой было бы купить еще vps отдельно для сборки с гигаресурсами, какую ты себе представляешь, и поставить туда freebsd ради того чтоб собрать проект под эту маленькую
Lunatic
собственно можно и руками поменять флаг, если что-то одно собираешь. А вот когда у тебя метасистема сборки со своими языками в которой хорошо если вообще есть возможность вставить этот флаг - тогда очень много надо мучаться, чтобы найти как им воспользоваться
Lunatic
а так по дефолту скажем nixos тебе в X потоков будет собирать твои пакеты, и если они на расте то каждая из этих сборок тоже будет использовать X потоков, что в случае с 128 ядрами дает 128 * 128 = 16384 потока единомоментно
Igor
Я лично даже на локалке когда собираю, никаких проблем с лагами не испытываю при 100% нагрузке. Проц далеко не самый мощный.
Igor
Запустил вот чистую рекомпиляцию всего проекта своего, не самого маленького, почти 500 файлов с кодом
Lunatic
ну у меня старый нечищенный тротлящий перегревающийся ноутбук который я еще и даунклокнул чтобы он не вырубался от thermal shutdown
Lunatic
и памяти в нем 6гб
Lunatic
а ядер 8
Igor
Если знаешь как
Михаил
Поменять флаги можно всегда
броское заявленьице
Igor
броское заявленьице
Но ведь правда ж
Михаил
Но ведь правда ж
а я вот сделаю возьму в своем говнояпе, что нельзя... и его возьмут в прод
Igor
Мне ни разу не приходилось оказываться в ситуации, где я не могу настроить систему компиляции под себя, всё предельно гибкое
Igor
а я вот сделаю возьму в своем говнояпе, что нельзя... и его возьмут в прод
Вот в этот момент эта гипотетическая ситуация становится невозможной
Михаил
нет ничего невозможного
Михаил
нет ничего невозможного
АХАХ еще броское заявленьице
Snusmumriken
а я вот сделаю возьму в своем говнояпе, что нельзя... и его возьмут в прод
Всё больше пересечений с тем микросрачем про раст, ты его видел.
Igor
В прод берут нормальный конфигурируемый софт, либо же прод обсирается и со временем людям приходит осознание как и что делать надор
Igor
питон же взяли ;)
А в чем проблема питона?
Михаил
Михаил
Igor
Видел
Михаил
вот так автору в глаза посмотреть бы
Snusmumriken
Автора не волнует ничто кроме того что "питон миленький"
Михаил
мда, это заметно
Snusmumriken
Хочу машинку, но чтобы красненькую!
StiMOR
Автора не волнует ничто кроме того что "питон миленький"
не вижу ничего миленького когда 3000 строк
Igor
и памяти в нем 6гб
Ну и вот это тоже проблема не компиляторов, кстати. Железо развивается, а вместе с ним и софт. Не думаю, что для разработчиков раста резонно подстраиваться под хотелки Лунатика со слабым ноутом
Михаил
не вижу ничего миленького когда 3000 строк
... в одном файле интерпретатора main.cpp?
Михаил
по перфу
Михаил
и по iq разрабов
StiMOR
процессоры стали в разы мощнее а лагает также как и 10 лет назад
StiMOR
Igor
ну вот и сидим с играми на unreal 5 которые на 4080 лагают
Это уже больше к криворуким геймдевам вопрос) Clair Obscur: Expedition 33, Black Myth: Wukong, Split Fiction - прекрасно работающие игры, и да, работают на пятом анриле.
Михаил
на плюсах можно нормально писать
Михаил
и редактор на расте не лагает
Igor
Геймдев != разработчик компилятора
Igor
Так что само по себе сравнение тоже не имеет смысла
Михаил
Геймдев != разработчик компилятора
компиляторная индустрия почти захвачена ллвм
Igor
компиляторная индустрия почти захвачена ллвм
Заслуженно. Потому что этот комбайн может что угодно сделать, только попроси правильно.
Igor
Я по-прежнему считаю шланг лучшим компилятором C++ и что-то иное использовать не спешу)
Igor
Ну и мы сейчас, кстати, тоже на связку LLVM+MLIR переходим для нашего рекомпилятора шейдеров
Igor
Свой рекомпилятор с нуля писать оказалось не очень выгодно, наш ещё к тому же в оптимизации не умеет
Igor
Ну и мы сейчас, кстати, тоже на связку LLVM+MLIR переходим для нашего рекомпилятора шейдеров
Когда заведём этого монстра, можно будет смело сказать, что эта херабора сэкономила нам несколько лет работы
Lunatic
llvm шейдеры компилироваьт умеет?
Lunatic
а, llvm скомпилирует язык в ir и вы потом эту кашу в шейдеры....
Igor
а, llvm скомпилирует язык в ir и вы потом эту кашу в шейдеры....
PS4 шейдеры => LLVM+MLIR+кусок нашего предыдущего парсера => SPIRV шейдер
Lunatic
а там какой-то свой язык шейдеров?
Igor
Так пишут, будто у них не бывает технических шоколадок)))
Igor
Особенно учитывая что сайт не работал из-за ркн, технических шоколадок с моей стороны не было
Lunatic
рррр!
Igor
PlayStation Shader Language или коротко PSSL
Igor
рррр!
На вот презенташку почитай если хочешь, конкретно эта публичная, не думаю, что мне стоит кидать сюда конфиденциальные)))