[darcs-users] darcs goes faster if you break a repository up into successive chunks of patches?

zooko zooko at zooko.com
Tue May 20 11:57:24 UTC 2008


On May 20, 2008, at 3:45 AM, Reinier Lamers wrote:

> In attacking bug #777, I noticed that when darcs creates a patch  
> bundle, it
> tries to take an SHA-1 hash of al the bundle text. When you do a  
> "darcs put"
> with a big repository, the bundle is too big to fit in your RAM, so  
> the
> machine grinds to a swapping halt. Could something similar also  
> happen when
> you do a pull?

Just so everyone knows, cryptographers long ago decided to sacrifice  
certain desirable properties when designing secure hash functions  
like SHA-1 in order to gain the "on-line" property -- that you can  
process the input incrementally and in one pass and with a very small  
fixed amount of state.

So, there is nothing in the secure hash spec that prevents darcs from  
efficiently computing the secure hash of a bundle much bigger than  
your physical RAM, by processing it incrementally.

Regards,

Zooko


More information about the darcs-users mailing list