2011-02-07 11 views
9

Lavoro in un piccolo team di sviluppo di iPhone, nel nostro ufficio, abbiamo almeno 4 copie di XCode in esecuzione sulla rete in qualsiasi momento. Contemplando convincere tutti a farlo funzionare.Quando utilizzare la funzione di creazione distribuita XCode

Stiamo collegati in rete tra loro con un interruttore WiFi standard, quindi la velocità della rete e la latenza non è buono come rete cablata ...

Chiedo solo, non v'è alcun guadagno in tempo reale per essere avuto sul usando distribuita costruisce? Una volta che passa i dati rilevanti avanti e indietro sulla rete. Almeno per progetti relativamente piccoli.

+0

Quanto dura la tua costruzione ora? – Nick

+0

Circa 15-20 secondi, sto costruendo molto regolarmente però, quindi si sta sommando. –

risposta

4

dipende dal progetto, dalle sue dipendenze e dalla quantità di dati che devono essere trasferiti.

15-20 secondi non è terribile. certamente, c'è più lavoro da fare in generale. potrebbe essere una buona idea per tutti coltivare un Mac Pro molto veloce, piuttosto che tra loro se si utilizzano dual core (non sono state fornite informazioni).

quanto riguarda la configurazione del progetto: se si dispone di un gruppo di librerie dipendenti nei vostri progetti, allora può aiutare a disattivare le intestazioni precompilate. gran parte dell'equazione è il numero medio di dipendenze e il numero di oggetti da generare.

a 15-20 secondi, sarebbe aiutare molti sviluppatori di scrivere in modo da ottimizzare i tempi di costruzione prima di appaltare. se fossero pochi minuti, allora potresti voler saltare direttamente in build distribuite con un 8 o 12 core.

un aspetto facilmente trascurato delle build lente su piccoli progetti: disabilitare l'analisi statica per build, e basta eseguirlo manualmente ogni ora due, risolvendo quindi ogni problema.

In caso contrario, il progetto potrebbe probabilmente essere suddiviso in progetti/librerie più piccoli. è probabile che non cambierai sempre le stesse dipendenze.

supponendo che la compilazione, il collegamento, ecc. Siano dove il tempo è trascorso a questo punto: gran parte del resto rientra nei tipici problemi relativi alla costruzione di programmi c e C++. minimizza le tue dipendenze e includi i grafici. in realtà è abbastanza facile da realizzare con objc; dal momento che molte delle interfacce usano i tipi objc, puoi usare i forward.

se la libreria è piccola (ad esempio meno di 50 oggetti generati), è possibile che si ottenga un aumento della velocità non utilizzando le intestazioni precompilate. se tutto dipende già dalla tua inclusione di 12 framework di sistema inclusi dal pch .... quindi provalo nel prossimo progetto.

naturalmente, si potrebbe semplicemente provare a cronometrare una ricostruzione pulita, una build con file pch generati e diverse build incrementali per giungere a una conclusione.

Problemi correlati