185 похожих чатов

Есть такое утверждение, что если некоторое действие оканчивается ошибкой, то

только идиоты будут повторять его снова и снова — в надежде, что какая-то очередная попытка окажется успешной. Это справедливо не для всех действий, а только для строго детерминированных, к которым можно отнести, например, всякие операции на компьютере, в частности, компиляцию.

Вчера я билдил проект впервые на новой машине, и он сбилдился только с третьего раза. Я ничего не менял между попытками, оно падало сначала в другом месте, потом дальше, плакало "отошлите багрепорт в Apple", а на третий раз сбилдилось.

То ли я не идиот, то ли пздят-с. :) Но вообще не очень понимаю, как так получается. Из-за многопоточной компиляции?

21 ответов

87 просмотров

На версии свифта 5.9, ubuntu 20.04 мой проект билдится только при 12 гигах оперативки и 6 ядрах. Никаких сообщений нет при этом, я интуитивно поднимал ресурсы и в итоге завелось.

Alex-Sherbakov Автор вопроса
Alex Sherbakov
Растолстел-то как 5.9!

ага, я hello world смог сбилдить только на 2Гб ОЗУ, офигенно(нет)

Евгений Данилов
На версии свифта 5.9, ubuntu 20.04 мой проект билд...

Сколько же тысяч строк в проекте? Очень впечатляющая нагрузка

iMike
ага, я hello world смог сбилдить только на 2Гб ОЗУ...

Если это не троллинг лучше его не ставить тогда, остановившись на минорных версиях. Ну то есть это похоже на баг, а не на фичу ;)

Может это на Линукс только? У меня на несовременном Air стоит 5.7, пресловутый HelloWorld быстро компилится, вентилятор не успевает завестись.

Keiman
Может это на Линукс только? У меня на несовременно...

проверить сложно, т.к. у вас на эйре больше 1Гб ОЗУ 🙂 с количеством файлов точно траблы на всех операционках

стоит заметить что компиляция проектов что с макросами значительно более нажористая. Так же могут быть ситуации когда разрабатываешь с макросом и вроде как все ок, но на уровне паблишинга не паблишиться) То есть лучше лишний раз макросами не пользоваться пока что)

Куся 🌿⃤ __UKS
стоит заметить что компиляция проектов что с макро...

куда уж еще нажористее-то) но спасибо за ворнинг

Alex-Sherbakov Автор вопроса

Стикер

Пришел Алекс с детерминированным подходом подмышкой и разложил все по полочкам. Как всегда.

Это не оно. Там проблема с драмматическим увеличением времени компиляции в прямой зависимости от количества файлов, даже пустых. Добавляем в проект сотню пустых файлов: с компиляцией с нуля вообще страх, перекомпиляция вместо 3 секунд начинает занимать 15+.

Началась лютая дичь, - компилится на пол шишочки я это так назвал. На одном сервере все скомпилилось и фурычит, на другом с первого раза нет, потом еще раз нажал и все отлично сработало!

Евгений Данилов
Началась лютая дичь, - компилится на пол шишочки я...

ты пробовал передавать чтоб в один поток собиралось ?

Oleh Nerzh
ты пробовал передавать чтоб в один поток собиралос...

Нет я только заметил что на трех ядрах вообще шансы низки (где-то один из пяти) и увеличил количество ядер до 6-ти и теперь компилится три раза и один раз с виду ок, но что-то не подтягивается

Евгений Данилов
Началась лютая дичь, - компилится на пол шишочки я...

Мне пришлось даже делать так, чтобы докер по одному билдился, если надо кому могу env var для этого найти

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта