бахти оптимизацията!
12 отговора
0 прегледа
бахти оптимизацията!
уиндоуското виzуално студио 2010, много голем проект, рибилд ол в рилийз мод взема 35 минути (компа е с 12 ядрен процесор с 24 гига памет) - махнах му оптимизацията в линкера - никакъв ефект, обче кат махнах C/C++ оптимизацията на всеки от подпроектите, рибилдът стана за 5 минути. Баси чудото, половин час оптимизация, при това времето се губеше в линкването, а опцията която бави нещата беше сложена в компилационните параметри.
Re: бахти оптимизацията!
Стига де, над какво работиш? Целия .НЕТ фреймуърк при мене се компилира за няколко секунди на средно бърз лаптоп i7 процесор за хиляда долара.
Нещо генерално не е наред, уж на теория на всеки чекин трябва да се прави автоматичен билд отзад и да ти прати мейл ако не минат тестовете.
--
One day it will make sense.
Нещо генерално не е наред, уж на теория на всеки чекин трябва да се прави автоматичен билд отзад и да ти прати мейл ако не минат тестовете.
--
One day it will make sense.
Re: бахти оптимизацията!
ами може би с оптимизации бълва сложен за линкване код, например всяка функция от хедер я има и като инлайн и като функция, макар че само това не стига за такава огромна ралика.
NE SUTOR ULTRA CREPIDAM
NE SUTOR ULTRA CREPIDAM
Re: бахти оптимизацията!
Компилатора е доста сложна експертна система, отнема време за да измисли оптимизациите.
Re: бахти оптимизацията!
голям проект (> 10 000 файла), предимно Ц++, но има и ц има и петдесетина фортрански файла, всичко това се пише на линукс и само се портва на уиндоус, с визуал студио 6 се линкваше много по-бързо, откакто минахме на ВС 2008 стана адски бавно, а с това 2010 е още по-бавно ...
сефте го портвам на 2010 и не ми се линква в дибъг мод, затова компилирам в рилийз мод x64
сефте го портвам на 2010 и не ми се линква в дибъг мод, затова компилирам в рилийз мод x64
Re: бахти оптимизацията!
Не знаех, че майкрософтския компилатор позволява link-time code generation. Радвам се, че най-после се е появило в популярен компилатор.
The last good thing written in C was Franz Schubert's Symphony No. 9.
The last good thing written in C was Franz Schubert's Symphony No. 9.
Re: бахти оптимизацията!
За последно съм използвал компилатор на Майкрософт когато Visual C++ 1.5 още не беше излязло официално :)
Иначе тази възможност я имат (не популярни) компилатори още от началото на 90-те.
The last good thing written in C was Franz Schubert's Symphony No. 9.
Иначе тази възможност я имат (не популярни) компилатори още от началото на 90-те.
The last good thing written in C was Franz Schubert's Symphony No. 9.
Re: бахти оптимизацията!
Не си писал с каква версия на висуал студиото компилираш, но и така можем да предположим, че със сигурност си изключил поне "Whole Program Optimization with Link-Time Code Generation" според този article [линк]
От същата статия е интересно дали си изключил и "Profile Guided Optimization", ако въобще си я ползвал. Това което си написал, че след като си махнал оптимизацията от линкера е продължило да е бавно е много странно, защото и двата типа оптимизации се правят от линкера. Но в последно време нямам допит с новите майкрософтски компилатори и не мога да репродуцирам случая.
Във всеки случай е глупаво e да изключиш съвсем оптимизациите поне за продукшън кода, защото Майкрософт казват, че за SQL сервер-а им, с PGO дава 30% speed-up. Но пак зависи от продукта, ако не е необходимо са истискаш докрай всеки цикъл на процесора, голяма работа.
И НЕ ЗАБРАВЯЙ XKCD 303!!! [линк]
Hello, my name is Inigo Montoya
От същата статия е интересно дали си изключил и "Profile Guided Optimization", ако въобще си я ползвал. Това което си написал, че след като си махнал оптимизацията от линкера е продължило да е бавно е много странно, защото и двата типа оптимизации се правят от линкера. Но в последно време нямам допит с новите майкрософтски компилатори и не мога да репродуцирам случая.
Във всеки случай е глупаво e да изключиш съвсем оптимизациите поне за продукшън кода, защото Майкрософт казват, че за SQL сервер-а им, с PGO дава 30% speed-up. Но пак зависи от продукта, ако не е необходимо са истискаш докрай всеки цикъл на процесора, голяма работа.
И НЕ ЗАБРАВЯЙ XKCD 303!!! [линк]
Hello, my name is Inigo Montoya
Re: бахти оптимизацията! - не четеш внимателно...
Писал е - уиндоуското виzуално студио 2010.
Редактирано от Naki на
Re: бахти оптимизацията! - не четеш внимателно...
А, вярно. Аз съм виждал само express едитиона-а на това и там няма специално меню за profile guided optimisation в иде-то, ама не пречи да го има в компилатора като параметър.
Hello, my name is Inigo Montoya
Hello, my name is Inigo Montoya