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