I have added the cgit-reaper here - repo <https://jausoft.com/cgit/cgit-reaper.git/about/> - backup <https://github.com/sgothel/cgit-reaper> and well described it in its README.
Main objective for this file reaper is to allow cgit to use the full range of 64-bit FNV-1a value to reduce collisions but limiting the maximum number of cache files to a considerably lower number. This works w/ my cgit patches using the 64-bit FNV-1a value and a bit more - my branch <https://jausoft.com/cgit/cgit.git/log/> - backup <https://github.com/sgothel/cgit/commits/master> cgitrc config example: # new cgit-reaper config (defaults) pid-parent-dir=/var/run cache-max-files=1048576 cache-min-ttl=1 cache-max-ttl=525600 # shared cgit/cgit-reaper config (best) cache-size=18446744073709551615 +++ Merging welcome, as well as to take over the cgit-reaper to your cgit repo of course. However, it is coded in C++20 and uses my jaulib submodule <https://jausoft.com/cgit/jaulib.git/about/>. +++ This whole analysis started when the server I maintain started to be 'under attack' (DoS) a while ago. Today, every now and then they are run over still, but I managed to fine tune resources including cgit with my patches. Cheers, ~Sven On 7/23/26 4:27 PM, Sven Göthel wrote: > As described: > <https://jausoft.com/cgit/cgit.git/commit/?id=4d8f593faf93b1043309e987823220a70f70a701> > > Or find it in <https://jausoft.com/cgit/cgit.git/log/>, > if I must revise it (bugs). > > Will post the patch if interested. > > I get good collision-free hashes w/ > e.g. 16M cache-size (16777215), see table below > with added used hex-nibbles. > > Maximum would be full 64-bit values, > however .. this is surely not desired :) > (On a ZFS fs this would not be an issue though) > > The FNV-1a 64bit hash is the clipped > to the desired size w/ shift-xor and masking. > > The project hash is also better concatenated, > passing the previous round to the hash-algo. > > When updating or changing the cache-size, > one better temporarily removes the binary > and re-creates the cache/cgit folder. > See > <https://jausoft.com/cgit/cgit.git/tree/scripts/clean-cgit-cache.sh?h=jau_config&id=7a24e791c9273bdd57b492c0272663e39596b37e> > > Comments and ideas are welcome. > > Cheers, > > ~Sven > > # FFFFFFFF 4294M (full 32-bit) > # cache-size=4294967295 > # FFFFFFF 268M > # cache-size=268435455 > # FFFFFF 16M > cache-size=16777215 > # FFFFF 1M > # cache-size=1048575 > >
OpenPGP_signature.asc
Description: OpenPGP digital signature
