У нас есть приложение PHP, и они думали, что было бы полезно узнать, было ли приложение известно, было ли изменение его состава со времени последнего выполнения. В основном из-за управления кэшами и т.д., И зная, что к нашим приложениям иногда обращаются люди, которые не помнят очистить кеш от изменений. (Изменение людей - это очевидный ответ, но, увы, не реально достижимый)
Мы придумали это, что является самым быстрым, что нам удалось ускорить, и на среднем уровне 0,08 на машине разработчика для типичного проекта. Мы экспериментировали с shasum, md5 и crc32, и это самый быстрый. Мы в основном собираем содержимое каждого файла, а md5 - вывод. Безопасность не вызывает беспокойства, нас просто интересует обнаружение изменений файловой системы с помощью различной контрольной суммы.
time (find application/ -path '*/.svn' -prune -o -type f -print0 | xargs -0 md5 | md5)
Я полагаю, вопрос в том, может ли это быть оптимизировано еще?
(Я понимаю, что обрезка svn будет стоить, но находка занимает наименьшее количество времени из компонентов, поэтому она будет довольно минимальной. Мы тестируем это на рабочей копии atm)