-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
area-System.CollectionsenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions
Milestone
Description
I'm wondering why aren't we using bitmapped Vector Tries for ImmutableList? Forgive me if this question has been asked.
As far as I know, this data structure is used in Closure's PersistentVector, and ImmutableJS's List. I have a preliminary implementation and it shows that it's faster than the current implementation of the current ImmutableList. For getting sequential or random elements in the list, the trie is about 4 times faster, and for adding elements, it about 3 times faster. Of course, these numbers are the preliminary findings.
For those who don't know what Bitmapped Vector Tries is:
Understanding Clojure's Persistent Vectors
Immutable.js
Metadata
Metadata
Assignees
Labels
area-System.CollectionsenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additions