| Commit message (Expand) | Author | Age | Files | Lines |
| ... | |
| * | README: Revamp | Runxi Yu | 2025-11-24 | 1 | -90/+60 |
| * | pack: Do not madvise•••Apparently although it's not fully sequential, the general pattern is
sort-of increasing in offsets as trees are being traversed.
| Runxi Yu | 2025-11-24 | 1 | -11/+0 |
| * | byteorder: Purge | Runxi Yu | 2025-11-23 | 2 | -176/+0 |
| * | .build.yml: Add go vet•••It could detect mismatches between the Go function signature and asm;
not super useful but good to have... not sure why golangci-lint's go vet
doesn't do this.
| Runxi Yu | 2025-11-23 | 1 | -0/+3 |
| * | adler32: Update assembly param names to pass go vet | Runxi Yu | 2025-11-23 | 3 | -8/+8 |
| * | bufpool: Return bytes.Buffer, rather than a pointer to it•••It's silly to allocate a bytes.Buffer struct, however small it is,
every time Borrow is called, since the entire purpose is to reduce
allocations.
| Runxi Yu | 2025-11-23 | 5 | -65/+66 |
| * | obj: Add ReadObjectTypeRaw | Runxi Yu | 2025-11-22 | 1 | -0/+26 |
| * | obj: Return ErrNotFound, not ErrInvalidObject, when not found in packs | Runxi Yu | 2025-11-22 | 1 | -1/+1 |
| * | obj: call parseObjectBody in ReadObject instead of loose/pack readers | Runxi Yu | 2025-11-22 | 3 | -19/+21 |
| * | pack: Allocate the header on the stack instead | Runxi Yu | 2025-11-22 | 1 | -1/+2 |
| * | zlib, flatex: Remove code related to dicts•••Git never uses them
| Runxi Yu | 2025-11-22 | 9 | -414/+171 |
| * | flatex: Remove the stale readByte(s) wrappers and just directly index the buffer | Runxi Yu | 2025-11-22 | 1 | -36/+18 |
| * | bufpool: Return *Buffer | Runxi Yu | 2025-11-22 | 5 | -68/+62 |
| * | bufpool: Improve perf by using buckets of different size classes | Runxi Yu | 2025-11-22 | 7 | -34/+182 |
| * | flatex: Reformat code | Runxi Yu | 2025-11-22 | 1 | -3/+5 |
| * | Remove the multi-pack-index tests which is unused anyway | Runxi Yu | 2025-11-22 | 1 | -73/+0 |
| * | README: Note on integer overflows | Runxi Yu | 2025-11-22 | 1 | -0/+2 |
| * | pack: Don't use bytes.Reader cursor, use mmaped slice directly | Runxi Yu | 2025-11-22 | 1 | -74/+66 |
| * | diffbytes: Fix linter error on redundant if statement | Runxi Yu | 2025-11-21 | 1 | -4/+1 |
| * | Add DiffBytes | Runxi Yu | 2025-11-21 | 2 | -0/+548 |
| * | Add stringToBytes/bytesToString | Runxi Yu | 2025-11-21 | 1 | -0/+17 |
| * | Add DiffTrees | Runxi Yu | 2025-11-21 | 2 | -0/+433 |
| * | adler32: Add benchmark | Runxi Yu | 2025-11-20 | 1 | -0/+22 |
| * | Fix linter errors | Runxi Yu | 2025-11-20 | 2 | -4/+4 |
| * | Revert "Add initial support for multi pack indexes"•••This reverts commit 6f8acbf1503d2fa1ef705d35a743fc6b279942e5.
Apparently my MIDX support is broken and it breaks some repos...
it'll be added back when ready.
| Runxi Yu | 2025-11-20 | 3 | -336/+0 |
| * | refs: Support resolving hashes as refs | Runxi Yu | 2025-11-20 | 2 | -0/+60 |
| * | refs: ResolveRef and ResolveRefFully, no HEAD split | Runxi Yu | 2025-11-20 | 3 | -107/+267 |
| * | README: no more zlib branch | Runxi Yu | 2025-11-19 | 1 | -2/+1 |
| * | README: A little bit of optional Go assembly | Runxi Yu | 2025-11-19 | 1 | -1/+2 |
| * | Add purego to tests | Runxi Yu | 2025-11-19 | 1 | -0/+3 |
| * | Add the right go:build's | Runxi Yu | 2025-11-19 | 2 | -0/+4 |
| * | Replace adler32 with github.com/mhr3/adler32-simd•••Unfortunately no VSX support yet
| Runxi Yu | 2025-11-19 | 19 | -895/+937 |
| * | Ignore some errors in the tests (actually from stdlib but linter complains) | Runxi Yu | 2025-11-19 | 2 | -11/+11 |
| * | Remove the broken compression benchmarking utility | Runxi Yu | 2025-11-19 | 6 | -224/+0 |
| * | SIMD with AVX2 on supported AMD64 machines•••Some help from gpt-5.1-thinking taken: used wrong register size for
the weighted sum at first, so it was truncating the second half of
our block; also there was an overflow from the modulus and stuff.
Unfortunately the AVX2 adler32 is only about 20% faster than the
generic version which doesn't make for much.
| Runxi Yu | 2025-11-19 | 5 | -92/+423 |
| * | Well, we use a dependency (golang.org/x/sys/cpu) now... | Runxi Yu | 2025-11-19 | 3 | -3/+6 |
| * | adler32: Add tests from the standard library | Runxi Yu | 2025-11-19 | 2 | -0/+388 |
| * | Switch back to internal zlib for loose objects too•••Still marginally less overhead due to pooling
| Runxi Yu | 2025-11-19 | 5 | -3/+425 |
| * | Probably should name the custom packages specially | Runxi Yu | 2025-11-19 | 12 | -25/+24 |
| * | Remove some redundant code | Runxi Yu | 2025-11-19 | 2 | -55/+14 |
| * | flate: Remove unused code | Runxi Yu | 2025-11-19 | 3 | -447/+4 |
| * | pack: Iterative instead of recursive resolver | Runxi Yu | 2025-11-19 | 1 | -116/+160 |
| * | SliceInflater is probably a better name for that•••And let's just basically not use io.Reader at all
| Runxi Yu | 2025-11-19 | 2 | -52/+496 |
| * | Initial attempt to make a compressor with less overhead•••io.Reader actually has massive overhead...
| Runxi Yu | 2025-11-19 | 7 | -42/+386 |
| * | adler32: Unroll update loop | Runxi Yu | 2025-11-19 | 1 | -7/+70 |
| * | byteorder: Import | Runxi Yu | 2025-11-19 | 2 | -0/+176 |
| * | Add adler32 and LICENSE | Runxi Yu | 2025-11-19 | 2 | -0/+156 |
| * | zlib: Use internal adler32 | Runxi Yu | 2025-11-19 | 1 | -1/+1 |
| * | Our zlib ought to be read-only for now | Runxi Yu | 2025-11-19 | 6 | -1942/+10 |
| * | Add zlib test data | Runxi Yu | 2025-11-19 | 6 | -0/+222 |