|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Compilare con 2 processori
Magari è una cosa risaputa, ma da poco ho saputo che basta digitare
make -j3 per compilare usando entrambi i processori. Se si hanno 3 processori -j4, con 4 -j5 etc etc (non so perchè un numero in più). Su Linux l'ho messo nel mio .bashrc (alias make='make -j3') mentre su Windows lo devo scrivere sempre (ma uso i make targets di eclipse). Provare per credere, compila secondo me a più del doppio della velocità. my 2 cents
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non capisco perché non lo faccia già il compilatore.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
![]() So solo che è arrivato quà un collega con questa nuova info, l'ho provata e son rimasto così Adesso sto lavorando su windows e, non so perchè, ho dato per scontato che non si possa fare "make -j3" ma che ci fosse un altro modo. Stavo per aprire un 3d per chiedere come si fa su win e poi, per caso, ho provato "make -j3" ... eureka Quindi ho cambiato il 3d trasformandolo in un "knowledge sharing 3d".
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
faresti meglio a specificare che si tratta di quella ciofeca di GNU Make, anche se lo si capisce benissimo visto che l'utility build di Microsoft sfrutta automaticamente tutti i processori
![]() comunque, trattandosi di un'opzione del programma make, suppongo che si tratti semplicemente di eseguire separatamente target indipendenti, cioé non dipendenti l'uno dall'altro ne' direttamente ne' indirettamente; nel mio caso (progetti piccoli con 2 o 3 make targets tutto correlati e una sola chiamata al g++) sarebbe piu utile sapere se invece é possibile parallelizzare il lavoro del compilatore visto che i singoli files sorgenti possono essere compilati indipendentemente. ora investigo e poi condivido su questo thread i miei 2 cent di conoscenza; intanto grazie per l'idea |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
E utilizzo QT con Eclipse, quindi mingw, non roba MS di cui so veramente poco. Ok, se scopri qualcosa di nuovo be venga
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
mah, non trovo nulla e credo che giá lo faccia da solo: compilando il mio progettino universitario in C++ anche senza specificare -j3 a GNU Make il Task Manager mi segnala forte uso di entrambi i core. in effetti non c'é motivo per cui il compilatore dovrebbe attendere la generazione di un file oggetto prima di generare il successivo.
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Solo con VS2010 sono passati a MSBuild e quindi al supporto al multithread. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
e chi ha parlato di Visual Studio infatti?
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
mi sembra una semplificazione un po' grossolana, comunque se rileggi io avevo parlato di build utility; si tratta di un programma che semplifica l'uso di NMAKE.
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Si ce l'ho, ma non l'ho mai provato. Appena torno su Windows (sto su Linux ora) gli do un occhio.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
Vi posso dire per esperienza che non funziona molto bene (su Linux) Spesso compila 2 volte lo stesso oggetto ( vai a capire perché..) e quindi si perde gran parte del vantaggio.
E spesso capita che un core rimanga molto indietro rispetto all'altro. Io sinceramente consiglio di non usarla. Magari con piccoli Makefile non capita, ma su grossi progetti non ho visto vantaggi per i motivi esposti sopra. Probabilmente dipende da come è strutturato il Makefile. Ultima modifica di Unrue : 05-02-2010 alle 11:06. |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Ops, ho l'icona QtCreator anche sul desktop di Ubuntu
OT: Comunque QT è pieno di bugs Quote:
Mi compila benissimo (su Linux) un progetto di circa una quindicina di moduli e in meno della metà del tempo se non usassi i 2 processori. Potrei chiedere quì in ditta dove fanno le simulazioni (grafica e audio) e hanno progetti veramente enormi.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#16 | ||
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
Quote:
Quote:
La cosa migliore è fare una prova, ma senza dare per scontato che si otterrà benefici. Probabilmente è per questo che non è settato di default. Ultima modifica di Unrue : 05-02-2010 alle 11:16. |
||
|
|
|
|
|
#17 | ||
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
Quote:
Nel caso di progetti complessi con più makefiles, come quelli che dici tu, la vedo dura in effetti. Forse bisognerebbe lanciare i make in un certo ordine ... @cionci: fiko QtCreator
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
||
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6254
|
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
|
|
|
|
|
|
#20 | |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21840
|
Quote:
Codice:
man make
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:45.






















