$ time ./hash.sh `find ~/projects/mozilla/mozilla-central/dom/ -type f -path */test/*.js`
real 0m0.059s
user 0m0.032s
sys 0m0.020s
$ time ./hash.py `find ~/projects/mozilla/mozilla-central/dom/ -type f -path */test/*.js`
real 0m0.070s
user 0m0.048s
sys 0m0.020s
$ time ./hash.js `find ~/projects/mozilla/mozilla-central/dom/ -type f -path */test/*.js`
real 0m0.223s
user 0m0.172s
sys 0m0.080s
$ time ./hash.sh `find ~/projects/mozilla/gaia/.git/ -type f`
real 0m2.118s
user 0m1.948s
sys 0m0.168s
$ time ./hash.py `find ~/projects/mozilla/gaia/.git/ -type f`
real 0m1.896s
user 0m1.344s
sys 0m0.552s
$ time ./hash.js `find ~/projects/mozilla/gaia/.git/ -type f`
real 0m3.959s
user 0m3.676s
sys 0m1.664s
Great so it looks like the python option is not only reasonable but faster!
Here is a build on travis: https://travis-ci.org/mozilla-b2g/gaia/builds/13241326
And my modified version which runs node in parallel: