-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
Question on the Rust implementation #134
Comments
I didn't looked too much at other implementations, so I don't sure. There is still some things regarding optimizations I want to implement, and which will make jrsonnet even faster:
struct Locals {
parent: Option<Locals>,
current: HashMap<String, Thunk>,
} Where But it is possible to rewrite source code to use indices: local a = 1, b = 2, c = a + b; c
=>
local <0> = 1, <1> = 2, <2> = <0> + <1>; <2> And then store this in PersistentVec<Thunk> This optimization is implemented by every jsonnet interpreter: go-jsonnet, cpp-jsonnet, sjsonnet... Except jrsonnet.
|
And I thought this couldn't get any better! Thank you for the detailed insights of what's coming next, I'm really happy to see this implementation thrive as it does, it's helping a lot in many projects! I'm rooting for you @CertainLach 🥇 |
Hello!
I was looking at the Jsonnet benchmarks again and I found myself wondering why your implementation @CertainLach is just destroying every other one, while being more user-friendly most of the time?
I can't read Rust (for now 😄) but that would be awesome if you could help me/us understand what are the main differences in your implementation compared to the other one and making the Rust implem such a killer!
Thanks again for your work!
The text was updated successfully, but these errors were encountered: