-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
chore(performance,vrl): Add RFC for "LLVM Backend for VRL" #10518
Conversation
✔️ Deploy Preview for vector-project canceled. 🔨 Explore the source changes: 7e1b77b 🔍 Inspect the deploy log: https://app.netlify.com/sites/vector-project/deploys/61f7e2ee76c7a60007504113 |
8c47e60
to
7645459
Compare
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
7645459
to
6ca41f0
Compare
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
I think it could be worth adding a section to discuss calling functions in the VRL stdlib. We need to give some thought to how it will handle optional and named parameters. I'm not sure what the best solution would be here. |
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
…mbining prior art Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
@StephenWakely I agree that we still need to figure out the specifics of handling function parameters. However, I don't think the implementation details matter too much to the general approach lined out here other than "we will find a solution". If there's demand to discuss the details of these, we can add another RFC. I added it to the action items: 1e8b6ab. |
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great RFC, nice work @pablosichert.
I did leave some remarks and questions inline. Additionally, I'd like there to be a section specifically around testing (how we will test, what does this require us to have in terms of testing infrastructure, what parts of this are difficult to test and require manual checks during PR reviews).
(I know there are two items on testing in the "Plan Of Attack" section, but I'd like that to be expanded into its own section in the actual RFC, with an explanation on why we need certain tests, etc)
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great start to a very promising project!
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
…RL internally Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
2df80e5
to
ea3c206
Compare
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
Signed-off-by: Pablo Sichert <mail@pablosichert.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
Closes #10517.
Rendered version 👀.
Some preliminary results from my local machine (executing the script 1M times each):
Traverse:
1.653175s
VM:
715.790583ms
LLVM:
608.121458ms
Traverse:
248.525166ms
VM:
102.147416ms
LLVM:
41.894708ms
Traverse:
275.768333ms
VM:
57.462375ms
LLVM:
33.156291ms
Traverse:
270.735291ms
VM:
43.291541ms
LLVM:
27.7585ms
Traverse:
241.31875ms
VM:
50.283333ms
LLVM:
31.510625ms
Additional material: slides for the presentation on LLVM Backend for VRL.