ngoguey
ngoguey
@metanivek and I brainstormed areas of improvement for GC and the new IO --- ### Benchmark impact of GC on main process performances > `benchmark` > status: ongoing, @Ngoguey42 Bench...
The mem functions are implemented this way: ```ml let mem t k = find t k >|= function None -> false | _ -> true let mem_tree t k =...
See #1524 We would need to re-implement it and benchmark this.
With irmin-pack under irmin 2.x, commiting a commit that was already contained in the pack file was a no-op on the disk (thanks to the `always` indexing strategy). With irmin-pack...
The `pack_store` typing disallows using `unsafe_add` (and such) if the store is not in `read_write` mode. This rule is not enforced (snapshot import exploits this), it should be fixed.
In order to simplify debugging we could add an append only ascii file that lists the timestamps of the creation, openings, gc starts and gc ends.
If the tree passed to `Commit.v` has a cached hash, it is cheap to compute the commit hash (using a portable commit). That commit hash could then be used to...
Click here for an interpreted version of the example: https://github.com/Ngoguey42/irmin/blob/mp-example/examples/merkle_proofs.md Thanks to @art-w who helped me with mdx and reviewed the example
irmin-pack mem's failure: ``` [failure] Pool.drop: double free Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33 Called from Irmin_pack_mem__Content_addressable.Maker.Make.close in file "src/irmin-pack/mem/content_addressable.ml", line 95, characters 6-32 Called from...