-
Notifications
You must be signed in to change notification settings - Fork 14
Home
Nathan Ridley edited this page Jan 28, 2018
·
20 revisions
See the project board for progress and current priorities.
- Six primary collection types: list, red-black tree, map, set, and sorted variants of the latter two
- Proper performance testing setup
- Documentation
- API normalization between the different structures
- Optimisation of the list structure as per #19
- Potential revision of some of the API design choices in SortedMap/SortedSet
- More data structures
Ideas for additional collection types, mostly able to be backed by other underlying data structures in Collectable.js (some as analogs to Immutable.js, for completeness):
- Range (sequential vs random)
- Lazy sequences (relation to the original projections idea?)
- Queue (standard vs priority)
- Stack
- Repeat
- Record
Other raw data structures for advanced use as needed:
- AVL tree for when reads are much more frequent than writes
- Finger tree for more interesting BST-based scenarios
- Cuckoo filter
- Suffix tree
- Splay tree
- B-tree
- B+ tree
- Octree/Quadtree/RTree (spatial querying; see also)
More ideas for data structures can be found here.
WASM/Rust may offer some great opportunities for creating much faster versions of the above when WASM-JS interop ceases to be a performance issue.