Domanda

Ho una base di codice PHP abbastanza grande (file 10k) con cui lavoro usando Eclipse 3.4 / PDT 2 su un computer Windows, mentre i file sono ospitati su un file server Debian. Mi collego tramite un'unità mappata su Windows.

Pur avendo una connessione ethernet da 1 gbit, fare un aggiornamento del progetto eclipse è piuttosto lento. Fino a 5 minuti. E sono bloccato dal lavoro mentre questo accade.

Questo normalmente non sarebbe un problema dato che teoricamente Eclipse non dovrebbe fare un aggiornamento completo molto spesso. Tuttavia, utilizzo anche il plug-in subclipse che attiva un aggiornamento completo ogni volta che completa uno switch / aggiornamento.

Il mio sospetto è che la parte più lenta del processo sia l'eclissi controllando i file 10k uno per uno per le modifiche sulla samba.

C'è un gran numero di file nella base di codice a cui non avrei mai bisogno di accedere da Eclipse, quindi non ne ho bisogno per controllarli affatto. Tuttavia, non riesco a capire come impedirlo. Ho provato a contrassegnarli come "derivati". Questo impedisce loro di essere inclusi nel processo di compilazione ecc. Ma non sembra accelerare affatto il processo di aggiornamento. Sembra che Eclipse controlli ancora il loro stato modificato.

Ho anche rimosso le cartelle non necessarie dal 'percorso di costruzione' di PDT. Questo accelera il processo di "costruzione dell'area di lavoro", ma di nuovo non accelera l'effettivo aggiornamento che precede l'edificio (e che è ciò che richiede più tempo).

È stato utile?

Soluzione

Grazie a tutti per i vostri suggerimenti. Fondamentalmente, JW era sulla buona strada. Lavora localmente.

A tal fine, ho scoperto un plugin chiamato FileSync: http://andrei.gmxhome.de/filesync/

Questo copia automaticamente i file modificati nella condivisione di rete. Funziona in modo fantastico. Ora posso fare un aggiornamento / cambio / aggiornamento completo da Eclipse in un paio di secondi.

Altri suggerimenti

Devi archiviare i file su una condivisione? Forse puoi impostare una sorta di mirroring automatico, quindi lavori con i file localmente e vengono copiati automaticamente nella condivisione. Sono in una situazione simile e odio rinunciare alla velocità di modifica dei file sul mio computer.

Dato che è sottovalutato, perché non avere i file localmente e utilizzare un hook post commit per aggiornare all'ultima versione sul server dev dopo ogni commit? (o hai una stringa specifica nel registro di commit (ad esempio '## DEPLOY ##') quando vuoi aggiornare dev, ed esegui l'aggiornamento solo quando l'hook post commit vede questa stringa).

A parte le accelerazioni di aggiornamento, il vantaggio di questa tecnica è che puoi avere file rotti su cui stai lavorando in eclipse e il server dev è ancora ok (anche se con una versione precedente del codice).

Lo svantaggio è che devi fare un commit per inviare i tuoi file salvati sul server di sviluppo.

Utilizza la funzione di cartella offline in Windows facendo clic con il pulsante destro del mouse e seleziona " Rendi disponibile offline " ;. Potrebbe risparmiare molto tempo e ritardo di andata e ritorno nel protocollo di condivisione file.

L'uso di svn externals con il flag di revisione per le cose non modificabili potrebbe impedire alla sottoclipse di aggiornare quei file durante l'aggiornamento. Quindi potrebbe non esserlo. Dal momento che dovresti apportare alcune modifiche alla struttura del tuo repository di sovversione per farlo funzionare, ti suggerirei di fare dei semplici test prima di farlo davvero.

Ho risolto questo problema modificando " Dimensione buffer trasferimento file " in:

Finestra- > Preferenze- > File di sistemi remoti e modifica " Dimensione del buffer di trasferimento file " -s Scarica (KB) e carica (KB) i valori su un valore elevato, l'ho impostato su 1000 kb, per impostazione predefinita è 40 kb

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top