Note that Scala 2.13 (next release) includes a CHAMP hash map implementation, first contributed by the original author and then refined by several Scala contributors, most notably Jason Zaugg (@retronym) and Josh (@joshlemer)
reddit thread from a year ago https://www.reddit.com/r/programming/comments/5790ky/benchma...
Thanks for sharing! One quick question: in the methodology section, you mention that the results are from a median value out of repeated runs. While I get that you run JITted code, you also mention that it makes the runs isolated from GC side-effects.
Just out of curiosity, what did you do to ensure that GC would not interfere with the execution while the tests are running?
Pet peeve: I wish people would call them persistent or fork-on-write, but functional at least is better than immutable.
I see you have written interfaces like List & Maps. Probably, we need to use interfaces from Java native, but provide better implementation through bifurcan. This makes it easy for existing applications to switch to bifurcan where they need.
Indeed great work! Is Google's guava collections part of this research?
Great work!
For those interested in this type of thing, Li Haoyi created an in depth look at the Scala structures.
http://www.lihaoyi.com/post/BenchmarkingScalaCollections.htm...
It includes some interesting commentary as well.