Самый быстрый способ сравнить состояние каталогов или хеширование для удовольствия и получения прибыли

У нас есть PHP-приложение, и мы думаем, что было бы полезно, чтобы приложение знало, изменилось ли его состав с момента последнего выполнения. В основном из-за управления кешами и т. Д., и зная, что к нашим приложениям иногда обращаются люди, которые не забывают очищать кеш при изменениях. (Смена людей - очевидный ответ, но, увы, не совсем достижимый)

Мы придумали это, и это самый быстрый результат, который нам удалось преодолеть, работая в среднем 0,08 на машине разработчика для типичного проект. Мы экспериментировали с shasum, md5 и crc32, и это самый быстрый. Мы в основном md5ing содержимое каждого файла и md5'ing этот вывод. Безопасность не является проблемой, мы просто заинтересованы в обнаружении изменений файловой системы с помощью другой контрольной суммы.

time (find application/ -path '*/.svn' -prune -o -type f -print0 | xargs -0 md5 | md5)

Я полагаю, вопрос в том, можно ли еще оптимизировать это?

(Я понимаю, что сокращение svn будет стоить дорого, но find занимает минимум времени у компонентов, поэтому он будет довольно минимальным. повторное тестирование на рабочей копии банкомата)

12
задан jhogendorn 3 December 2010 в 08:54
поделиться