Pergunta

Eu tenho um bastante grande base de código PHP (10k arquivos) que eu trabalho com o uso de Eclipse 3.4 / PDT 2 em uma máquina Windows, enquanto os arquivos são hospedados em um servidor de arquivos Debian. I conectar via uma unidade mapeada no Windows.

Apesar de ter uma conexão de 1 Gbit Ethernet, fazendo uma atualização do projeto eclipse é bastante lento. Até 5 minutos. E eu estou impedido de trabalhar enquanto isso acontece.

Isso normalmente não seria um problema tão grande desde Eclipse, teoricamente, não deveria ter que fazer uma atualização completa com muita frequência. No entanto eu uso o subclipse plugin também que desencadeia uma atualização completa cada vez que termina um switch / atualização.

Meu palpite é que a parte mais lenta do processo é eclipse verificar os 10k arquivos um por um para mudanças ao longo do samba.

Há um grande número de arquivos na base de código que eu nunca teria necessidade de acesso a partir do eclipse, então eu não preciso dele para vê-los em tudo. No entanto, eu não consigo descobrir como impedi-lo de fazê-lo. Eu tentei marcá-los 'derivada'. Isso as impede de serem incluídos no processo de construção etc. Mas não parece acelerar o processo de atualização em tudo. Parece que Eclipse ainda verifica o seu estado alterado.

Eu também removeu as pastas desnecessárias de 'caminho de construção' do PDT. Isso faz acelerar o processo de 'construção de espaço de trabalho', mas novamente ele não acelerar a atualização real que precede a construção (e que é o que leva mais tempo).

Foi útil?

Solução

Obrigado a todos por suas sugestões. Basicamente, JW estava no caminho certo. Trabalho localmente.

Para o efeito, eu descobri um plugin chamado FileSync: http://andrei.gmxhome.de/filesync/

Este copia automaticamente os arquivos alterados para o compartilhamento de rede. Funciona fantasticamente. agora eu posso fazer uma atualização / switch / atualização completa de dentro do Eclipse em um par de segundos.

Outras dicas

Você tem que armazenar os arquivos em um compartilhamento de? Talvez você pode configurar algum tipo de espelhamento automático, para que você trabalhar com os arquivos localmente, e eles são automaticamente copiados para o compartilhamento. Estou em uma situação semelhante, e eu odeio dar a velocidade de edição de arquivos na minha própria máquina.

Dado que é subversioned, por que não ter os arquivos localmente, e usar um post commit gancho para atualizar para a versão mais recente no servidor dev, após cada commit? (Ou ter uma seqüência específica no log commit (por exemplo, '## DEPLOY ##') quando você deseja atualizar dev, e só executar a atualização quando o post cometer gancho vê essa string).

Além de speed-ups de atualização, a vantagem desta técnica é que você pode ter arquivos que você está trabalhando em eclipse, eo servidor dev ainda é ok (embora com uma versão mais antiga do código) quebrado.

A desvantagem é que você tem que fazer um commit para empurrar seus arquivos salvos no servidor dev.

Use o recurso de pasta offline no Windows pelo botão direito do mouse e selecione "Tornar disponível off-line".

Ela poderia salvar um monte de tempo e atraso de ida e volta no protocolo de compartilhamento de arquivos.

O uso de svn externos com o bandeira de revisão para o material não mudança pode evitar subclipse de atualizar esses arquivos na atualização. Então, novamente, talvez não. Desde que você teria que fazer algumas alterações para a estrutura do seu repositório Subversion para fazê-lo funcionar, eu sugiro que você fazer alguns testes simples antes de fazer isso de verdade.

Eu solwed esse problema alterando "File Transfer Buffer Size" em:

Janela-> Preferências> Remote Systems-Files e mudança "A transferência de arquivos tamanho do buffer" -s Baixar (KB) e os valores de alto valor Upload (KB), eu defini-lo para 1000 kb, por padrão, ele é de 40 kb

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top