View Full Version : "export CONCURRENCY_LEVEL=" devo darlo ogni volta prima di compilare qualcosa?
Per sfruttare sempre i 2 core del mio processore nelle compilazioni devo sempre dare questo comando o basta darlo una volta appena installata ubuntu e poi rimane settata per sempre?
eclissi83
28-01-2011, 12:34
inseriscilo nel profile e ad ogni boot verra' settata...
quando usi il comando export lo fai per quella sessione...
ciao
darkbasic
28-01-2011, 12:40
Ma non serve solo per i sorgenti debianizzati?
Io ho sempre usato make -jX per i sorgenti standard...
inseriscilo nel profile e ad ogni boot verra' settata...
Mhmm mi dici come si fa?
eclissi83
28-01-2011, 14:17
Mhmm mi dici come si fa?
editando il file /etc/profile (a meno che su ubuntu non sia diverso)...
ciao
ThereThere
28-01-2011, 16:57
Mi accodo anche io qua, siccome incuriosito dall'argomento ho fatto un paio di prove:
- Se lancio make -j4 i sorgenti vengono compilati usando 4 threads
- se scrivo CONCURRENCY_LEVEL=4 sia in /etc/profile oppure in /etc/environment non funziona.
Perchè ho questo comportamento? aggiungo che se prima di dare il comando make (senza -j4) scrivo da terminale export CONCURRENCY_LEVEL=4 non funziona lo stesso.
darkbasic
28-01-2011, 17:07
- Se lancio make -j4 i sorgenti vengono compilati usando 4 threads
- se scrivo CONCURRENCY_LEVEL=4 sia in /etc/profile oppure in /etc/environment non funziona.
Perchè ho questo comportamento?
Ma CONCURRENCY_LEVEL non serve solo per i sorgenti debianizzati?
*
ThereThere
28-01-2011, 17:35
OkOk, mi ero perso un pezzo :D
Quindi in pratica quella variabile d'ambiente è valida solo per i sorgenti che hanno la predisposizione ad essere pacchettizzati (cioè quelli che hanno la cartella debian tra i sorgenti) ?
Se fosse così finalmente tutto avrebbe un senso, difatti questa variabile è spesso settata quando si compila il kernel, che se non erro genera 2 paccehtti .deb.
Comunque mi ero dimenticato di scrivere che utlizzo Ubuntu 10.04.
nano ~/.bashrc
alias make='make -jX'
ThereThere
29-01-2011, 12:26
nano ~/.bashrc
alias make='make -jX'
Avevo pensato a qualcosa del genere. cioè fare in modo che quando viene invocato make in realtà esegua make -jX, ma non sapevo di preciso dove avrei dovuto scrivere.
Per caso ci sono controindicazioni a fare una cosa del genere?
Comunque più tardi ci provo.
Grazie.
darkbasic
29-01-2011, 12:53
Per caso ci sono controindicazioni a fare una cosa del genere?
Non riuscirai più a compilare sorgenti con un build system che da rogne con la parallelizzazione. Ma se usi una distro binaria non dovrebbero esserci problemi.
ThereThere
29-01-2011, 14:49
Non riuscirai più a compilare sorgenti con un build system che da rogne con la parallelizzazione. Ma se usi una distro binaria non dovrebbero esserci problemi.
Scusami non ho molto ben capito il senso del messaggio. Potresti rispiegarmelo?
Grazie!
Slater91
01-02-2011, 11:49
Scusami non ho molto ben capito il senso del messaggio. Potresti rispiegarmelo?
Grazie!
Non so se quanto sto per dire sia giusto: in pratica, se i sorgenti e/o il sistema di compilazione non sono ottimizzati per la parallelizzazione (ovvero, per lo sfruttamento di più thread in simultanea) potresti ottenere errori o malfunzionamenti nel codice compilato. Prendi con le pinze le mie affermazioni però.
ThereThere
01-02-2011, 14:16
Non so se quanto sto per dire sia giusto: in pratica, se i sorgenti e/o il sistema di compilazione non sono ottimizzati per la parallelizzazione (ovvero, per lo sfruttamento di più thread in simultanea) potresti ottenere errori o malfunzionamenti nel codice compilato. Prendi con le pinze le mie affermazioni però.
Ti ringrazio dell'interessamento ma ad una conclusione simile ero già arrivato (sempre se è la corretta interpretazione).
La mia domanda, forse mal posta, era rivolta a questa parte:
Ma se usi una distro binaria non dovrebbero esserci problemi.
Non capisco cosa sarebbe una distro binaria.
darkbasic
01-02-2011, 14:24
Non capisco cosa sarebbe una distro binaria.
Una qualunque distribuzione che fornisca pacchetti precompilati piuttosto che informazioni per la compilazione (meta-distribuzione).
In poche parole se compili quattro cagate non avrai problemi, se ti compili un intero sistema sì.
ThereThere
01-02-2011, 14:31
Una qualunque distribuzione che fornisca pacchetti precompilati piuttosto che informazioni per la compilazione (meta-distribuzione).
In poche parole se compili quattro cagate non avrai problemi, se ti compili un intero sistema sì.
Risposta terra terra ma comprensibile, grazie :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.