Skip to content
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

JIT compilation #1095

Open
tontinton opened this issue Oct 25, 2024 · 4 comments
Open

JIT compilation #1095

tontinton opened this issue Oct 25, 2024 · 4 comments
Labels
vrl: compiler Changes to the compiler

Comments

@tontinton
Copy link
Contributor

Wondering if there are plans to compile into machine code.

@pront
Copy link
Contributor

pront commented Oct 25, 2024

Hi @tontinton,

We currently have a REPL implementation at https://github.com/vectordotdev/vrl/blob/main/src/cli/repl.rs.

Would you mind sharing what use cases you're thinking about? This would help us understand if you're envisioning something different.

For context, you might find these resources helpful:

@tontinton
Copy link
Contributor Author

I want to run VRL on lots and lots of logs (Terabytes) for implementing a project similar to Trino but for semi-structured logs.

I am concerned about the performance of VRL as an interpreted language. LuaJIT and CRuby for example implement JIT compilation, and wondered whether this is something VRL should also have?

@pront
Copy link
Contributor

pront commented Oct 25, 2024

Gotcha, there is no plan at the moment to do this. We will update this ticket if this changes in the future.

Out of curiosity, did you run any benchmarks? You can write a very simple Rust crate which uses VRL as a library. You can see here how Vector's remap transform does it.

@tontinton
Copy link
Contributor Author

No benchmarks yet, but planning to.

@jszwedko jszwedko added the vrl: compiler Changes to the compiler label Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vrl: compiler Changes to the compiler
Projects
None yet
Development

No branches or pull requests

3 participants