Смотреть на Ubuntu 12.04 с использованием большого количества процессоров
Я использую grunt для просмотра файлов coffeescript в проекте towerjs и перекомпилирую их по мере их изменения. Конфигурация для этого генерируется towerjs и выглядит довольно вменяемой. Проблема в том, что, как только я запустил этот процесс, я увидел, что он привязан к ядру процессора (фактически, только одна гиперпотока). Если я удаляю множество путей из отслеживаемых, я могу уменьшить его до 25% процессорного времени, но это все еще довольно ужасно.
Я нашел несколько ссылок на некоторые известные проблемы и кросс-платформенное несоответствие с fs API Node и даже с fs.watch. Пробовал grunt-simple-watch, но ничего лучше не получалось.
Я мог бы настроить Guard, но это может быть утомительно, чтобы заставить его работать правильно и функционально ворчать, кажется, просто отлично - мне любопытно, если у кого-то еще есть какие-либо предложения.
1 ответ
Попробуйте новое задание: npm install grunt-contrib-watch
и добавить grunt.loadNpmTasks('grunt-contrib-watch');
на ваш gruntfile. Grunt v0.3 отслеживает задачи и файлы статистики, которые при большом количестве файлов могут работать медленно, но это было необходимо для совместимости системы. Новый будет использовать inotify только при правильной работе внутри узла.