Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

Используйте функцию автономных папок в Windows, щелкнув правой кнопкой мыши и выберите "Сделать доступным автономный режим". Это может сэкономить много времени и задержку при передаче в оба конца в протоколе обмена файлами.

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

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

Window- > Preferences- > Remote Systems-Files и измените значения «Размер буфера передачи файлов» на «Загрузка» (КБ) и «Загрузка» (КБ), я установил его на 1000 КБ, по умолчанию это 40 КБ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top