react-matchstick
vector
react-matchstick | vector | |
---|---|---|
1 | 2 | |
1 | 4 | |
- | - | |
0.0 | 1.8 | |
about 2 years ago | over 2 years ago | |
JavaScript | Java | |
Eclipse Public License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
react-matchstick
-
Understanding Clojure's Persistent Vectors (2013)
My experience with ImmutableJS was to remove it and see performance go up by a factor of 100-200.
https://github.com/mschaef/react-matchstick/commit/070802b69...
This was something of a worst case scenario (and it was five years ago, so presumably things have gotten better) but it still underscores the need to carefully consider these tools before adopting them. Do they really offer enough (to your application) to be worth the associated costs in readability, performance, etc.
If the goal is to prevent mutation, maybe there are better ways to do that. If the goal is to really accelerate, it's worth testing. (At the very least, Clojure's vectors seem unlikely to provide a benefit if you're working with vectors of len<32.)
vector
- Persistent Vector with amortized O(1) modification on both ends
-
Understanding Clojure's Persistent Vectors (2013)
voila.. took a bit longer, the code was "too slow"... turns out I was using the wrong branching factor!
https://github.com/tomprimozic/vector
What are some alternatives?
nim-persistent-vector - Implementation of Clojures persistent vector in Nim for easy immutable lists.
mori - ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.