@ProCxx

Страница 2158 из 2477
Alexey
26.06.2018
10:24:17
Только опции компиляции надо чтобы были едины.

Anatoly
26.06.2018
10:24:48
@I_vlxy_I ты точно получишь профит при инкрементном билде

Alexey
26.06.2018
10:25:06
или купить памяти/ссд
У народа на ноутах сборка медленно идет :-) у меня то норм.

Anatoly
26.06.2018
10:25:39
@I_vlxy_I у тебя, кстати, сколько субпроектов при сборке? у меня порядка 800

Google
Vhäldemar
26.06.2018
10:25:49
тогда надо ускорять тулзами, особенно под винду ж есть типа инкредибилд

Alexey
26.06.2018
10:25:52
Порядка 300

Anatoly
26.06.2018
10:26:21
Порядка 300
ну вся пересборка должна быть не более 10 минут, хотя если у тебя мета на мете сидить и метой погоняет, то it depends

Anatoly
26.06.2018
10:27:32
У меня - 5. На ноутах около 10-15.
надо ускорять ноуты SSD

Alexander
26.06.2018
10:28:14
ну а ещё можно юзать всякие incredibuild

Alexey
26.06.2018
10:28:29
С учетом всех обстоятельств проще pch вкрутить.

Vhäldemar
26.06.2018
10:30:12
Ну, народ хочет чтобы при полной пересборке было быстро
холиварно, но полная пересборка на постоянной основе - грусть и печаль

Igor
26.06.2018
10:30:46
если только речь не о CI который всех достал своей тормознутостью

Alexey
26.06.2018
10:31:02
холиварно, но полная пересборка на постоянной основе - грусть и печаль
I know. Но многие привыкли вот так, либо иногда это бывает просто нужно.

Vhäldemar
26.06.2018
10:31:21
ну иногда, то да, но постоянно

Google
Alexey
26.06.2018
10:33:43
В общем я понял, что реалистично достичь по крайней мере 2x скорости сборки. 10% - это не достаточно.

спасибо

Anatoly
26.06.2018
10:34:31
В общем я понял, что реалистично достичь по крайней мере 2x скорости сборки. 10% - это не достаточно.
а как ты сделал вывод о двукратном увеличии скорости при полной пересборке?

надо мерять, пробовать.

Alexey
26.06.2018
10:34:48
Выше писали вроде

Anatoly
26.06.2018
10:35:16
полная пересборка с pch потребует времени и на создания pch, так что надо мерять

это как при профилировке, фиг наперед скажешь, что будет бутылочным горлышком

Anatoly
26.06.2018
10:37:31
Толь, на самом деле можно.
cotire не поддерживает, это только на solution-ах можно

Alexey
26.06.2018
10:37:54
gcc вообще может вместо КАЖДОГО хедера искать его скомпиленную версию

Anatoly
26.06.2018
10:38:02
указывать какой cpp файл отвечает за создание, и после для каждого cpp указывать какой pch использовать

Ilia
26.06.2018
10:39:11
cotire не поддерживает, это только на solution-ах можно
Это может быт. А так -- есть в PCH два шага, первый создаёт PCH на основе исходника -- их может быть сколько угодно. Второй -- использует PCH при сборке исходного модуля. PCH при этом задаётся в параметрах вызова компилятора, их тоже может быть сколько угодно (на один исходный модуль только один)

Ilia
26.06.2018
10:40:11
cotire не поддерживает, это только на solution-ах можно
В VC как раз вроде бы нельзя, потому что там на проект только одно место, где можно указать "Создать PCH". И то я не уверен.

но я никогда на практике не встречал этого use case-a
Ну потому что это и бессмысленно во многом.

Vhäldemar
26.06.2018
10:40:46
надо смотерть что там у него в конфигах, т.к. UI может и не позволять, а в xml от msbuild может работать

Vhäldemar
26.06.2018
10:41:27
Google
Ilia
26.06.2018
10:42:53
gcc вообще может вместо КАЖДОГО хедера искать его скомпиленную версию
А какой смысл разбивать PCH на части ? Ведь скорость компиляции от размера PCH, я уверен, не зависит. Поэтому всё равно, как скомпилять например Boost и WinAPi, в один PCH или в 2 разных.

Alexey
26.06.2018
10:45:42
В VC как раз вроде бы нельзя, потому что там на проект только одно место, где можно указать "Создать PCH". И то я не уверен.
вроде бы даже у MS на каждую единицу компиляции независимо запускается компилятор. На уровне компилятора нет проектов. Вопрос лишь в том, с какими опциями компилятор запускается.

Alexey
26.06.2018
10:46:40
ну студийный проект же можно собрать без студии ?

да и вообще, ms компилятором можно и без солюшена/проекта собрать.

Vhäldemar
26.06.2018
10:47:51
ну студийный проект же можно собрать без студии ?
можно, вопрос делает ли кто-то так

Ilia
26.06.2018
10:47:53
Можно, но оно старается скопом кормить компилятору несколько модулей исходных разом, больше-лучше. Чтобы 200 раз не запускать компилятор потом не освобождать всё. Естественно, оно так может сделать только если параметры запуска компиля одни и те же.

Alexey
26.06.2018
10:49:14
Хм. Это даже похоже на то, как компилятор zapcc работает.

Vhäldemar
26.06.2018
10:49:41
ну, естественно, майки не могут придумать ничего своего ;)

Alexey
26.06.2018
10:49:59
zapcc появился позже ?

Vhäldemar
26.06.2018
10:50:06
не важно

Alexey
26.06.2018
10:50:15
и он вроде вообще сервисом в системе висит. даже когда не компиляет ничего.

Alexander
26.06.2018
10:50:32
да

Stanislav
26.06.2018
10:51:13
Grigor
26.06.2018
10:52:40
А как у zapcc с результурующим кодом и оптимизациями?

Vhäldemar
26.06.2018
10:53:07
Stanislav
26.06.2018
10:53:44
реально имеет какой-то еффект?
Having everything ready in-memory saves time, especially where the headers are much more complex than the source code. With a short C++ program using boost::numeric, boost::graph etc or Eigen, we see a 10-50x speedup.

Google
Alexander
26.06.2018
10:54:29
так то тоже можно компиляцию ускорить, если всё держать в оперативке

Александр
26.06.2018
10:54:38
Вопрос к спецам: Имеем невозможность сделать перегрузку: template <class T> void f(std::function<void(T, int)>) и template <class T> void f(std::function<void(T, float)>) Концепты что-то исправят? Хочется иметь возможность: 1) делать явную перегрузку по сигнатуре 2) сделать это perfecly: template <class T, Callable<void(T, int)> F> void f(F&& f) (как-то так себе вижу) - без создания std::function

Vhäldemar
26.06.2018
10:54:40
с шорт программкой модно много чего нагородить

Alexander
26.06.2018
10:54:55
так реальность у всех разная

Stanislav
26.06.2018
10:56:47
я про реальность, а не из ридми
дак берешь и проверяешь, в чем дело то

Alexander
26.06.2018
10:57:27
будем надеяться, что часть нароботок в апстрим протолкнут

Vhäldemar
26.06.2018
10:58:28
дак берешь и проверяешь, в чем дело то
берешь и доказываешь, что не только на шорт-программах с буст::граф имеет хоть какой-то резон

Alexander
26.06.2018
10:58:28
в рассылке шланга говорили, что раньше велись работы в схожем с zapcc направлении, но забили

Vhäldemar
26.06.2018
10:59:36
ещё раз - у всех разные кейсы, ну
я не спорю, но они явно пишут, что на маленьких синтетических примерах. а что там в реальности и стоит ли оно перехода с гораздо блее популярного тулчейна - не понятно

Alexander
26.06.2018
10:59:57
а какой тест норм? компиляция ядра линуха?

похороникс вроде его юзает

Vhäldemar
26.06.2018
11:00:29
а какой тест норм? компиляция ядра линуха?
с таким подхом- никкакой, естественно

Дед Пегас
26.06.2018
11:00:59
Можно тест на сборку бубса!

Vhäldemar
26.06.2018
11:01:02
буду знать

Alexey
26.06.2018
12:33:13
попробовал zapcc - gcc проект собирает за 5 минут, zapcc собирает проект за 2 минуты.

Страница 2158 из 2477