Skip to content

Commit 58e40b9

Browse files
committed
Update tracking files now that zlib-ng is in use
1 parent acb90d7 commit 58e40b9

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

performance-tasks.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88

99
### Pack Decoding
1010

11-
* [ ] @joshtriplett writes: "Regarding decompression performance, try replacing miniz_oxide with a better zlib decoder. Build with libz-sys, and then try substituting zlib-ng built with --zlib-compat. (I'm working on making that easier.) That should substantially improve decompression."
12-
* @joshtriplett writes: "As far as I know, I'm not aware of flate2 adding any significant overhead, and it provides fairly low-level interfaces in addition to high-level ones. If there's a good reason to, you could use libz-sys directly, but that's a less safe interface. Either way, if you port to libz-sys or to a crate like flate2 that's based on libz-sys, that'll make it trivial to switch to zlib-ng later, as well as making it easy to test zlib-ng now via LD_LIBRARY_PATH."
13-
* potential [savings: MASSIVE](https://github.com/Byron/gitoxide/issues/1#issuecomment-672626465)
14-
* Note that this should only be feature toggled. Using any of the above would replace a pure Rust implementation, which we would always like to keep as an option for those who want maximum safety.
1511
* [ ] Add more control over the amount of memory used for the `less-memory` algorithm of `pack-verify` to increase cache hit rate at the cost of memory.
1612
Note that depending on this setting, it might not be needed anymore to iterated over sorted offsets, freeing 150MB of memory in the process
1713
that could be used for the improved cache. With the current cache and no sorted offsets, the time nearly triples.
@@ -25,8 +21,5 @@
2521
* @joshtriplett writes: "Would it be possible, with some care, to use the index to figure out in advance which objects will be needed again and which ones won't? Could you compute a small DAG of objects you need for deltas (without storing the objects themselves), and use that to decide the order you process objects in?"
2622
* Note that there is tension between adding more latency to build such tree and the algorithms ability to (otherwise) start instantly.
2723
* potential savings: unknown
28-
29-
### Miniz Oxide
30-
* [x] Wait for release so we can use the new reset capability introduced by [this PR](https://github.com/Frommi/miniz_oxide/pull/91)
31-
24+
3225
[josh-aug-12]: https://github.com/Byron/gitoxide/issues/1#issuecomment-672566602

tasks.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@
4646
* [x] A plumbing command to extract some value from the current implementation, maybe statistics, or verification
4747
* [x] Application of the command above in a stress test
4848

49+
### Feature Flags
50+
51+
* [ ] configure the `small` feature set so that the flate2 backend is miniz-oxide instead of zlib-ng, allowing a 'pure' rust build.
52+
This might mean that the `fast` feature contains zlib-ng.
53+
4954
* **Questions**
5055
* What to do with the ['extra-garbage'](https://github.com/Byron/gitoxide/blob/6f90beeb418480f9cd8bb7ae3b5db678b24103cb/git-commitgraph/src/file/init.rs#L248),
5156
some code is commented out.

0 commit comments

Comments
 (0)