Efficient implementations of small maps and vectors for Clojure, designed for performance-critical collection operations.
clj-tuple is a Clojure library that provides efficient implementations of small maps and vectors. It solves performance problems with standard Clojure collections by offering optimized data structures with better memory layout and faster operations for small-sized collections.
Clojure developers working on performance-critical applications where collection operations are bottlenecks, particularly those dealing with small maps and vectors.
Developers choose clj-tuple because it provides significant performance improvements over standard Clojure collections for specific use cases, with minimal code changes required as it serves as a drop-in replacement for existing collection functions.
efficient small collections for clojure
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides significant performance improvements for small maps and vectors with better memory layout and faster operations, as discussed in the linked blog post from Factual.
Acts as a drop-in replacement for standard Clojure collections by simply swapping `vector` and `hash-map` calls, minimizing code changes and adoption effort.
Designed to eventually be merged into Clojure proper, aligning with the language's evolution and reducing long-term migration headaches for performance-sensitive code.
The README is minimal, lacking detailed examples, API references, or troubleshooting guides, which can hinder debugging and advanced usage.
Focused only on small collections; for larger data structures, standard Clojure collections might be more performant or appropriate, limiting its general applicability.
Since it's slated for integration into Clojure, ongoing library updates might be inconsistent, risking compatibility issues with newer Clojure versions or breaking changes.