сканирует md5-суммы файлов, чтобы выяснить, что они изменились, поэтому он в значительной степени md5sums всех ваших файлов.
Вы можете указать ему использовать только временные метки, чтобы решить, что перестраивать, и не нужно каждый раз MD5 подсчитывать все файлы, как это делает make, что должно ускорить процесс. Это может быть более хрупким. например если файл изменился в течение 1 секунды с момента его последнего создания, scons не заметит этого. Используйте
env.Decider('timestamp-newer')
Существует также временная метка MD5, которая сначала проверяет временную метку, а затем сравнивает содержимое с помощью Md5, если оно действительно изменилось, если временная метка новее.
env.Decider('MD5-timestamp')
Еще один простой способ ускорить процесс - запустить параллельное построение с помощью параметра -j.
scons -j 2
В моем 2-ядерном корпусе -j 3 обычно дает наибольшее ускорение.
Некоторая информация о том, что делают scons, может быть сделана с помощью аргумента --debug для вызова scons, см. Страницу руководства для различных опций.