Come ottimizzare la compilazione di un'applicazione a 32 bit in Visual C ++ 2005 su Windows Server 2008 a 64 bit
-
01-07-2019 - |
Domanda
Ho appena installato un server di build con un Windows Server 2008 a 64 bit per un'integrazione continua.
Il motivo per cui ho scelto un server a 64 bit era avere più di ~ 3Gb di RAM. Speravo che questa macchina potesse fornire incredibilmente veloci build.
Sfortunatamente, il risultato è a dir poco carente. Il mio desktop offre build più veloci di questo server dotato di un Xeon quad core, 15k RPM SAS e 8 GB di RAM.
Usiamo Visual C ++ 2005 per compilare la nostra applicazione a 32 bit con Cygwin.
L'emulatore WOW64 potrebbe essere il collo di bottiglia che sta rallentando il processo di compilazione?
Eventuali suggerimenti, commenti sarebbero molto apprezzati.
Saluti,
Soluzione
Usiamo Visual C ++ 2005 per compilare il nostro Applicazione a 32 bit con Cygwin.
Penso che sia questo il problema. Mi piace molto Cygwin, ma è veramente lento quando si tratta di file I / O. Aiuta un po 'a disattivare la funzionalità del filesystem NTFS per tenere traccia dell'ultimo accesso ai file.
Per ottenere una migliore velocità aumenta la porta del tuo build-script / makefile per usare la shell dei comandi nativa se pssible e chiamare cygwin-tools solo se non c'è davvero alcuna sostituzione disponibile.
Se usi il compilatore gcc prova la versione di mingw. Quello è molto più veloce.
Altri suggerimenti
WOW64 non è un emulatore su x64. Il processore esegue nativamente il codice x86 a 32 bit. Nella parte inferiore dello stack in modalità utente, sotto kernel32 et al , ci sono DLL che mappano le chiamate di sistema all'interfaccia di chiamata a 64 bit.