Commit Briefs

2d6dd3ed2c Stefan Sperling

style tweaks from jamsek


1aaa156217 Stefan Sperling

cache fulltext data in delta cache to improve speed with long delta chains

ok jamsek



5822e79e39 Omar Polo

include sha2.h too where sha1.h is included

In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


b5e1b8cdfc Stefan Sperling

add a separate compile-time DEBUG flag for the delta cache



99f7567eaa Stefan Sperling

reduce delta cache size to avoid running out of memory on large pack files

As reported by Jerome Kasper, got-index-pack would run out of memory while cloning projects like LLVM or the Linux kernel. The delta cache was pushed to its maximum size limit of ~2GB, which is much higher than the default user data limit on OpenBSD. Set the delta cache size limits to values which should result in the cache limiting itself to 128MB or less.




20282b029a Tracey Emery

fix build with -DGOT_NO_OBJ_CACHE

ok stsp



dac5c75ed0 Stefan Sperling

convert delta cache to a hash table

This approach uses more memory but is much faster. To offset the additional memory usage somewhat the cache now stores very small deltas only. However, overall memory usage goes up. Hopefully we will find a way to reduce this later. ok op@


5aa813935b Stefan Sperling

add copyright year for files already touched in 2020


fa7a529ed4 Stefan Sperling

disable delta cache in GOT_NO_OBJ_CACHE builds


c3b318d03e Stefan Sperling

add debug stats to delta cache


ab2f42e760 Stefan Sperling

cache delta data buffers in an LRU cache