[Gfoss] compilare "col turbo"

sicuramente lo saprete già tutti ...
è molto probabile che io sia rimasto l'ultimo fesso sulla
faccia delle terra a non conoscere il trucchetto

come ho appena scoperto, la GNU tool-chain standard
(versioni recenti) consente di fare una build complessa
(e lunga) in giusto una manciata di secondi scarsi;
basta semplicemente "accendere il turbo"

invece di dare il tradizionale: make
provate invece: make -j8
e scoprirete cosa vuol dire "velocità " :smiley:

----
in pratica ora make è capace di girare su più
thread paralleli: "-j8" significa appunto "compila
e linka usando 8 thread in parallelo".

come regola "a spanne", è bene indicare il doppio
dei cores fisicamente disponibili sulla propria CPU:
io ho un quad-core, ergo -j8

anche sotto Windows già prima MinGW era un bel po'
più veloce di MSVC in compilazione: ora, con l'opzione
"parallela" siamo decisamente su due pianeti neppure
lontanamente comparabili.

ciao Sandro

Grandioso Sandro!
Eravamo almeno in due a non saperlo :wink:
Lo proverò durante la lunga strada della compilazione di Grass 7 sotto MinGW (mi sa che saranno dolori!)

gio

Il giorno 16 agosto 2011 16:45, <a.furieri@lqt.it> ha scritto:

sicuramente lo saprete già tutti …
è molto probabile che io sia rimasto l’ultimo fesso sulla
faccia delle terra a non conoscere il trucchetto

come ho appena scoperto, la GNU tool-chain standard
(versioni recenti) consente di fare una build complessa
(e lunga) in giusto una manciata di secondi scarsi;
basta semplicemente “accendere il turbo”

invece di dare il tradizionale: make
provate invece: make -j8
e scoprirete cosa vuol dire “velocità” :smiley:


in pratica ora make è capace di girare su più
thread paralleli: “-j8” significa appunto “compila
e linka usando 8 thread in parallelo”.

come regola “a spanne”, è bene indicare il doppio
dei cores fisicamente disponibili sulla propria CPU:
io ho un quad-core, ergo -j8

anche sotto Windows già prima MinGW era un bel po’
più veloce di MSVC in compilazione: ora, con l’opzione
“parallela” siamo decisamente su due pianeti neppure
lontanamente comparabili.

ciao Sandro


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
527 iscritti al 7.7.2011

2011/8/16 <a.furieri@lqt.it>:

sicuramente lo saprete già tutti ...
è molto probabile che io sia rimasto l'ultimo fesso sulla
faccia delle terra a non conoscere il trucchetto

come ho appena scoperto, la GNU tool-chain standard
(versioni recenti) consente di fare una build complessa
(e lunga) in giusto una manciata di secondi scarsi;
basta semplicemente "accendere il turbo"

invece di dare il tradizionale: make
provate invece: make -j8
e scoprirete cosa vuol dire "velocità" :smiley:

La cosa curiosa è che riesce ad accelerare anche su
un single core! (magari basta -j2 in questo caso)

ciao
markus

On Tue, 16 Aug 2011 18:27:48 +0200, Markus Neteler wrote

La cosa curiosa è che riesce ad accelerare anche su
un single core! (magari basta -j2 in questo caso)

mica tanto strano: se monitorizzi l'attività della CPU
con "top" (meglio ancora con un tool grafico) vedi che
tipicamente una build procede "a raffiche": brevi picchi
di attività al 100% con lunghi intervalli molto più
'calmi' (evidentemente, fasi di I/O).

attivando più threads in parallelo è molto più
probabile che il task scheduler riesca a tenere
sempre la CPU sotto carico al 100% ... con ovvio
beneficio sul tempo totale di elaborazione

ciao Sandro