simplesurance / baur

An incremental task runner for mono repositories.
GNU General Public License v2.0
362 stars 11 forks source link

Cache Input digests #131

Closed fho closed 3 years ago

fho commented 4 years ago

Often multiple applications share some input files, cache the calculated digest for the input files to speed up calculating the status.

A simple way to implement it would be to make Inputfile a singleton. Inputfile already caches digest. If Inputfile is a singleton based on the absolute file path, we ensure digest is only called once per inputfile

fho commented 3 years ago

Seems like resolving inputs takes much more time then calculating the digests

fho commented 3 years ago

I did some measurements, calculating digests is very very fast. Resolving go source file inputs and running git ls-files is slow though. I added caching for the input resolvers here: https://github.com/simplesurance/baur/pull/262