-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Faster keywordize #506
Faster keywordize #506
Conversation
@ikitommi do you want to extend this solution to cljs or keep it just for clj? |
e789140
to
1a0f1d3
Compare
Decided to split the implementation off only for Clojure since cljs is built differently, don't even know how |
@ikitommi are there any blocking items for a review? I'd be happy to clear them if so. |
1a0f1d3
to
7ab6021
Compare
Eliminates allocation and friendlier to JIT
New and improved version, about 4x faster for input {"int" "10", "ints" ["1" "2" "3"], "map" {:1 "1", "2" "2"}} |
Open question - how can we be sure this does not introduce regressions for users who upgrade? |
Added generative test to validate my assumption |
Thanks! |
Implement walk with protocols and keywordize keys with it.
Gives about 2x speedup
left to do: decide on an implementation for cljs