Отговори на тема  [ 20 мнения ]  Отиди на страница 1, 2  Следваща
Машина за бърза компилация... 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Машина за бърза компилация...
Какво му е нужно на GCC, а и на другите компилатори да дъвчат по - бързо? В моя случай иде реч за боза като основа.

Досега съм установил, че SSD/HDD влияе нищожно. Между 4Г и 8Г рам разлика никаква. Дали бозата е 32 или 64 битова също няма съществена разлика.
Другото което знам, е че новия ми 4 ядрен i7(2 и нещо GHz) лаптоп търкаля близо два пъти по бавно от вече старата ми десктоп система с 4 ядрен i5(3.4GHz). От което си правя извода, че начина да се забърза е тактова честота и нищо друго. Прав ли съм?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Юли 25, 2014 3:02 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: Машина за бърза компилация...
На микрочипските им трябват ядра. И да им е пусната опцията да ги ползва. Колкото повече ядра, толкова повече файлове дъвче на куп едновременно, а вероятно и нещо друго. Тоест, ако не си пуснал HyperThreading-а на i7-цата - пусни го и търкаляй компилатора като върху 8 ядрен.

Освен друго, повечето i7-ци държат доста оверклокване, примерно от 2.7 на 3.4Ghz. Има значение и на колко си си пуснал паметта. Разликата при мен между 1000 и 1600Mhz е доста съществена.


Пет Юли 25, 2014 3:21 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Машина за бърза компилация...
"make -j" - да компилира на всички ядра, разбира се ако ползваш мейк - неудобството е че разбърква грешките и варнингите, и доста рядко се омотва и трябва да го пуснеш още веднъж за да докомпилира
ccache - това може да се ползва вместо gcc т.е. то си вика gcc вътрешно когато се наложи, като преди това проверява дали не компилираш пак същия файл със същите инклудвания и ако е така направо ползва резултата от предишната компилация

бонус: ако ползваш Ц++, темплейти, стл, бууст и т.н. - махни ги, ползвай чисто Ц и компилацията ще фръкне :D

_________________
Мразя да мразя ...


Пет Юли 25, 2014 3:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Машина за бърза компилация...
Да -j позабързва нещата, ама нищо не мога да проследя в конзолата....

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Юли 25, 2014 4:09 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение Re: Машина за бърза компилация...
Цецо написа:
Да -j позабързва нещата, ама нищо не мога да проследя в конзолата....

което е нормално :)

Какво толкова голямо компилираш, в смисъл колко време ти отнема компилацията? Защото на 1.6Гхз / 512 МБ рам съм стоял по 10 часа на компилация и като крашне - пак на другия ден, та не е като да ми е непозната болката ти. Все пак ме учудва каква е за теб мярката "бързо".


Пет Юли 25, 2014 4:24 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Машина за бърза компилация...
Бавното компилиране не е чак толкова лошо нещо - учи на хубави навици ... аз поне не бих се кахърил за нещо което отнема под 1-2 минути. Линукс ядрото на моя чупен макбук се компилира за няколко минути - а то е огромен проект. Подозирам, че Цецо се опитва да си оптимизира цикъла на програмиране до нещо като турбо паскал - натиснеш Ф9 и то на следващата секунда е готово или ти е извадило списък с грешките :)

_________________
Мразя да мразя ...


Пет Юли 25, 2014 4:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Машина за бърза компилация...
На десктопа е под 2 минути след clean. На новия лаптоп отива над 3 минути, а на по-бавничък лаптоп (нещо двуядрено), минава 5 минути...

Просто като съм свикнал на работната машина и се прибера да доработвам в къщи, брадясвам и се зачудих какво трябва да си купя следващия път.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Юли 25, 2014 5:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 11:53 pm
Мнения: 4582
Местоположение: Brussels / Пловдив
Мнение Re: Машина за бърза компилация...
Ако имаш нерви да го търпиш колкото може повече, след време ще видиш, че всъщност не пречи чак толкова, че е бавно - просто ще компилираш по рядко и всяка компилация ще минава без досадни грешки от бързане или недоглеждане ... единствения проблем който ми идва на ум е, че през това време ако се отплеснеш да си провериш поща или форума или фейсбук и отиде 10 минути разсейване - затова спираш интернета и да живей бавното компилиране :D

Edit: майтапя се де ... донякъде ...

_________________
Мразя да мразя ...


Пет Юли 25, 2014 5:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: Машина за бърза компилация...
Цецо написа:
... брадясвам и се зачудих какво трябва да си купя следващия път.

машинка за подстригване на бради :D

на времето компилирахме яко С++ все тежи простотии. бяхме направили клъстер от 10 двуксеонни маши с по 8 ядра и distcc. пълен билд вървеше около час на тоя звяр. като свършихме проекта го изгасихме, щото дърпаше по 4kW и не можехме да го изхраним. но не мисля, че това е твоя случай.

играй си -j
както спарки каза, важно е паметта, кеша и процесора да са на кохеретни честоти. също така навремето установихме, че ксеона е друг процесор (това е плюса), но и gcc трябва да е билднато за него, за да има файда (това е минуса). отделно по незнайни/неизследвани причини grep не работеше еднакво на ксеон и пентиум. но това беше преди 7 (въй!) години и от тогава не следя модните тенденции в интел.

аз също съм на кръстопът за нова машинка за ментора. някакво i ще е (АМД се чупи на някои места, ксеона е ОК, но е безумно скъп).
искам на същата машина да търкалям и SW, от което следва и дебело видео. но все още тествам, а ме задържа и излизащата нова версия на 'кспедишъна'. тя ще си дойде с нови трески и мотики, обаче до колко ще са критични

Цецо написа:
... ама нищо не мога да проследя в конзолата....

ами затова са измислени лог файловете 8)
понякога има проблем с гладкия билд с много компилатори, защото зависимостите са кошмарни за описване в мейка. може цял месец да си мислиш, че си натъмънил нещата и пак да настипъш мотиката неочаквано. или поне някое градинско гребло. ама това е за наистина сложни проекти.

като човек, спал по време на компилации, моя съвет е да си джуркаш както в момента и да не се втелясваш. ако ти боде брадата - машинката е много по-евтина.


Пет Юли 25, 2014 6:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Re: Машина за бърза компилация...
Имам едногодишен лаптоп Gateway i3 който компилира видимо около два пъти по-бързо от по-новия ми лаптоп Dell с i5. Едно и също на двете машини: проект, ОС, RAM, видеокарти, компилатор и т.н. Само че, една има една тънка разлика :-), i3 е 4-та генерация процесор, докато i5 се оказа 3-та. И това го разбрах като им сравних точките от Benchmark тест. Като купувах Dell преди няколко месеца гледах да i5 и нагоре, и като излезна добра оферта скочих в калта като не видял, нямаше време кой да чете ситните букви че това е стар модел i5. Виж и при теб да не се окаже там разликата.

Служебния е Xeon E5504 @ 2GHz, 4-ри ядра, HP Z800 Workstation, ми малко е ташак работа този процесор. Забранявам антивирусната, че с нея пък не може да отлепи. Компилира по време съизмеримо с Gateway лаптопа, само дето Xeon машината струва > $2k, а Gateway го взех за $350.

Пробвай да смениш GCC с LLVM :-) , или компилирай на Unix подобна машина.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Пет Юли 25, 2014 9:19 pm
Профил WWW
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Авг 07, 2012 3:16 pm
Мнения: 331
Мнение Re: Машина за бърза компилация...
Цецо написа:
Какво му е нужно на GCC, а и на другите компилатори да дъвчат по - бързо? В моя случай иде реч за боза като основа.

Досега съм установил, че SSD/HDD влияе нищожно. Между 4Г и 8Г рам разлика никаква. Дали бозата е 32 или 64 битова също няма съществена разлика.
Другото което знам, е че новия ми 4 ядрен i7(2 и нещо GHz) лаптоп търкаля близо два пъти по бавно от вече старата ми десктоп система с 4 ядрен i5(3.4GHz). От което си правя извода, че начина да се забърза е тактова честота и нищо друго. Прав ли съм?


Доколкото знам има само един или два модела i5, които са 4 ядрени, всичко друго е 2 ядрено с HT.

Относно gcc, ако постановката ти бе под Линукс има помощни средства:

1. https://ccache.samba.org/ - страшно много ускорява

2. https://code.google.com/p/distcc/ - също, но тук вече включваш поне още една машина по мрежа

Инсталирането и конфигурирането на двете е под 5 минути, но уви нямат версии за M$ .

Успех !


Нед Юли 27, 2014 12:56 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Ное 12, 2011 9:21 pm
Мнения: 62
Мнение Re: Машина за бърза компилация...
@Цецо
ползваш ли нещо от cygwin, инсталирал ли си нещо, дори бегло свързано - с cygwin? някаква mingw инсталация може би ползваш... просто стрелям в мрака...

изобщо - как, и откъде компилираш (да викаш 'make' е едно нещо, да викаш 'mingw32-make' може да се окаже съвсем различно нещо)?


Съб Авг 02, 2014 1:36 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: Машина за бърза компилация...
Десктопските i5 са 4 физически ядра.
Има една опция на gcc, "-pipe" (без кавичките), спестява ползването на диска за междинни файлове, може да даде сериозно ускорение.
Иначе, както си забелязал, клок и брой ядра са истината. Както и свястна билд система (има доста алтернативи на make).


Вто Авг 05, 2014 12:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Фев 13, 2013 3:35 pm
Мнения: 1803
Мнение Re: Машина за бърза компилация...
Какво му е на турбо паскал - а ?


Вто Авг 05, 2014 10:15 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Машина за бърза компилация...
Какво за турбо паскала, че ми стана интересно?


Вто Авг 05, 2014 10:42 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 20 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 16 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни