Как ускорить проект Eclipse «Обновить» - PullRequest
9 голосов
/ 08 января 2009

У меня довольно большая кодовая база PHP (10 тыс. Файлов), с которой я работаю с использованием Eclipse 3.4 / PDT 2 на компьютере с Windows, в то время как файлы размещаются на файловом сервере Debian. Я подключаюсь через подключенный диск на Windows.

Несмотря на наличие 1-гигабитного Ethernet-соединения, обновление проекта eclipse происходит довольно медленно. До 5 минут. И я не могу работать, пока это происходит.

Обычно это не было бы такой проблемой, поскольку теоретически Eclipse не должно было бы выполнять полное обновление очень часто. Однако я также использую плагин subclipse, который запускает полное обновление при каждом переключении / обновлении.

Я догадываюсь, что самой медленной частью процесса является затмение, проверяющее файлы по 10k один за другим на предмет изменений в samba.

В кодовой базе имеется большое количество файлов, к которым мне никогда не понадобится доступ из затмения, поэтому мне вообще не нужно их проверять. Однако я не могу понять, как предотвратить это. Я пытался пометить их как «производные». Это предотвращает их включение в процесс сборки и т. Д. Но, похоже, это совсем не ускоряет процесс обновления. Похоже, что Eclipse все еще проверяет их измененный статус.

Я также удалил ненужные папки из «пути сборки» PDT. Это ускоряет процесс «создание рабочего пространства», но опять-таки не ускоряет фактическое обновление, предшествующее созданию (и которое занимает больше всего времени).

Ответы [ 6 ]

7 голосов
/ 12 января 2009

Спасибо всем за ваши предложения. По сути, JW был на правильном пути. Работаем локально.

С этой целью я обнаружил плагин под названием FileSync: http://andrei.gmxhome.de/filesync/

Это автоматически копирует измененные файлы в общий сетевой ресурс. Работает фантастически. Теперь я могу сделать полное обновление / переключение / обновление из Eclipse за пару секунд.

3 голосов
/ 08 января 2009

Нужно ли хранить файлы в общей папке? Возможно, вы можете настроить какое-то автоматическое зеркалирование, чтобы вы работали с файлами локально, и они автоматически копировались в общий ресурс. Я нахожусь в подобной ситуации, и мне не хотелось бы отказываться от скорости редактирования файлов на моем собственном компьютере.

1 голос
/ 08 января 2009

Учитывая его подрывную деятельность, почему бы не иметь файлы локально и использовать ловушку post commit для обновления до последней версии на сервере dev после каждой фиксации? (или укажите конкретную строку в журнале фиксации (например, «## DEPLOY ##»), когда вы хотите обновить dev, и запускайте обновление только тогда, когда ловушка пост-фиксации увидит эту строку).

Помимо ускорения обновления, преимущество этого метода в том, что вы можете иметь поврежденные файлы, над которыми работаете в eclipse, и с сервером dev все в порядке (хотя и со старой версией кода).

Недостатком является то, что вам нужно сделать коммит, чтобы отправить сохраненные файлы на сервер разработки.

0 голосов
/ 19 февраля 2015

Я решил эту проблему, изменив «Размер буфера передачи файлов» на:

Окно-> Настройки-> Удаленные системы-Файлы и измените значения «Размер буфера передачи файлов» -s Загрузка (КБ) и Загрузка (КБ) на высокое значение, я установил его на 1000 КБ, по умолчанию это 40 КБ

0 голосов
/ 08 января 2009

Использование svn externals с флагом ревизии для неизменяемых элементов может препятствовать обновлению этих файлов при обновлении в субклипсе. С другой стороны, это не может быть. Поскольку вам нужно внести некоторые изменения в структуру вашего хранилища Subversion, чтобы он заработал, я бы посоветовал вам провести простое тестирование, прежде чем делать это по-настоящему.

0 голосов
/ 08 января 2009

Используйте функцию автономной папки в Windows, щелкнув правой кнопкой мыши и выбрав «Сделать доступной автономно».

Это может сэкономить много времени и задержку при передаче в протоколе обмена файлами.

...