go-hamt-ipld icon indicating copy to clipboard operation
go-hamt-ipld copied to clipboard

An implementation of a HAMT using ipld

Results 16 go-hamt-ipld issues
Sort by recently updated
recently updated
newest added

Ref: https://github.com/whyrusleeping/cbor-gen/pull/92

This PR is a direct continuation of the excellent work done by @aschmahmann here: https://github.com/filecoin-project/go-hamt-ipld/pull/103. It ties things off by working with a `GetMany` go-ipld-cbor store introduced in https://github.com/ipfs/go-ipld-cbor/pull/97, making...

This is an implementation of a parallel traversal of the HAMT. It's mostly copied from https://github.com/ipfs/go-unixfs/blob/323bb63cafa93c5bdd10170f35b96327760d7c1a/hamt/hamt.go#L402. There are a few pieces of this that are obviously wrong or non-optimal (e.g....

* The structure of the `ipld.NodePrototype` is a bit janky. Would be interested in suggestions on how to make that cleaner. * This doesn't support the fully life-cycle of `NodeBuilder`/`NodeAssembler`,...

WIP using and extending existing benchmarks to help tune filecoin hamt parameters.

As of https://github.com/filecoin-project/go-amt-ipld/pull/38 the AMT stores the bitwidth in the root node. Knowledge of the bitwidth is necessary to correctly interpret the blocks, so storing it makes the structure more...

need/triage

Is it ok that an inconsistently setup HAMT will cause a panic? The pointer returned [here](https://github.com/ipfs/go-hamt-ipld/blob/master/hamt.go#L81) is dereferenced without nil checking. An inconsistent setup is actually checked earlier within the...

In https://github.com/ipld/specs/pull/282 I'm claiming that the `map` (`bitfield`) is addressed here in the same way as the specification, and therefore the reference implementation for the IPLD HashMap. The [spec](https://github.com/ipld/specs/blob/master/data-structures/hashmap.md) currently...

Should have usages and examples and a description of the algorithm, benchmark results, etc

There are several parameters in the hamt that we can tweak depending on what our desired outcomes are. Let's start by brainstorming the metrics, then we can build benchmarks to...