Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Машина за бърза компилация...
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13090
Страница 1 от 2

Автор:  Цецо [ Пет Юли 25, 2014 3:02 pm ]
Заглавие:  Машина за бърза компилация...

Какво му е нужно на GCC, а и на другите компилатори да дъвчат по - бързо? В моя случай иде реч за боза като основа.

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

Автор:  sparkybg [ Пет Юли 25, 2014 3:21 pm ]
Заглавие:  Re: Машина за бърза компилация...

На микрочипските им трябват ядра. И да им е пусната опцията да ги ползва. Колкото повече ядра, толкова повече файлове дъвче на куп едновременно, а вероятно и нещо друго. Тоест, ако не си пуснал HyperThreading-а на i7-цата - пусни го и търкаляй компилатора като върху 8 ядрен.

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

Автор:  palavrov [ Пет Юли 25, 2014 3:32 pm ]
Заглавие:  Re: Машина за бърза компилация...

"make -j" - да компилира на всички ядра, разбира се ако ползваш мейк - неудобството е че разбърква грешките и варнингите, и доста рядко се омотва и трябва да го пуснеш още веднъж за да докомпилира
ccache - това може да се ползва вместо gcc т.е. то си вика gcc вътрешно когато се наложи, като преди това проверява дали не компилираш пак същия файл със същите инклудвания и ако е така направо ползва резултата от предишната компилация

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

Автор:  Цецо [ Пет Юли 25, 2014 4:09 pm ]
Заглавие:  Re: Машина за бърза компилация...

Да -j позабързва нещата, ама нищо не мога да проследя в конзолата....

Автор:  head_up [ Пет Юли 25, 2014 4:24 pm ]
Заглавие:  Re: Машина за бърза компилация...

Цецо написа:
Да -j позабързва нещата, ама нищо не мога да проследя в конзолата....

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

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

Автор:  palavrov [ Пет Юли 25, 2014 4:36 pm ]
Заглавие:  Re: Машина за бърза компилация...

Бавното компилиране не е чак толкова лошо нещо - учи на хубави навици ... аз поне не бих се кахърил за нещо което отнема под 1-2 минути. Линукс ядрото на моя чупен макбук се компилира за няколко минути - а то е огромен проект. Подозирам, че Цецо се опитва да си оптимизира цикъла на програмиране до нещо като турбо паскал - натиснеш Ф9 и то на следващата секунда е готово или ти е извадило списък с грешките :)

Автор:  Цецо [ Пет Юли 25, 2014 5:24 pm ]
Заглавие:  Re: Машина за бърза компилация...

На десктопа е под 2 минути след clean. На новия лаптоп отива над 3 минути, а на по-бавничък лаптоп (нещо двуядрено), минава 5 минути...

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

Автор:  palavrov [ Пет Юли 25, 2014 5:47 pm ]
Заглавие:  Re: Машина за бърза компилация...

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

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

Автор:  ДедоБоре [ Пет Юли 25, 2014 6:00 pm ]
Заглавие:  Re: Машина за бърза компилация...

Цецо написа:
... брадясвам и се зачудих какво трябва да си купя следващия път.

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

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

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

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

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

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

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

Автор:  [ Пет Юли 25, 2014 9:19 pm ]
Заглавие:  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 подобна машина.

Автор:  scout_3pm [ Нед Юли 27, 2014 12:56 pm ]
Заглавие:  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$ .

Успех !

Автор:  loser [ Съб Авг 02, 2014 1:36 am ]
Заглавие:  Re: Машина за бърза компилация...

@Цецо
ползваш ли нещо от cygwin, инсталирал ли си нещо, дори бегло свързано - с cygwin? някаква mingw инсталация може би ползваш... просто стрелям в мрака...

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

Автор:  gicho [ Вто Авг 05, 2014 12:46 pm ]
Заглавие:  Re: Машина за бърза компилация...

Десктопските i5 са 4 физически ядра.
Има една опция на gcc, "-pipe" (без кавичките), спестява ползването на диска за междинни файлове, може да даде сериозно ускорение.
Иначе, както си забелязал, клок и брой ядра са истината. Както и свястна билд система (има доста алтернативи на make).

Автор:  bobihot [ Вто Авг 05, 2014 10:15 pm ]
Заглавие:  Re: Машина за бърза компилация...

Какво му е на турбо паскал - а ?

Автор:  stefan63 [ Вто Авг 05, 2014 10:42 pm ]
Заглавие:  Re: Машина за бърза компилация...

Какво за турбо паскала, че ми стана интересно?

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/