Closed nikita-volkov closed 4 years ago
I don't have any particular plans. I think it would be interesting to see someone pick it up, but I don't think that I'll have the time for it.
I've used it in anger a few times, and my informal observation is that it is very hard on the garbage collector. The nodes are very large, and for workloads that are not just append-only (e.g., if you want to update individual elements), it really tortures the collector.
Okay. Thanks for your response!
It's strange that you've collected such data on the garbage collection, because one of the important benefits of this datastructure is its GC-friendliness. After all, the same AMT-based vectors are taken pride of in the garbage-collected languages like Clojure and Scala.
BTW, even in Haskell "unordered-containers", which are based on HAMT, are the most performant immutable tree, and "stm-containers", which are also based on HAMT, are also the most efficient in STM. HAMT (Hash Array Mapped Tree) is just an extension to the AMT algorithm.
I'm really surprised how this data-structure doesn't beat Data.Sequence
hands down.
Just released v0.2.0 with some improvements
This package is a great initiative. Haskell needs this data-structure. It's quite surprising that the package is not too popular yet.
I see that you have a TODO list, yet the latest updates were released two years ago. I'm wondering about your plans on this package. Do you plan on continuing its development? Are you interested in attracting more attention to it (and, hence, contribution)?