Skip to content

Commit

Permalink
chore(performance,vrl): Add RFC for "LLVM Backend for VRL" (#10518)
Browse files Browse the repository at this point in the history
* Add RFC for "LLVM Backend for VRL"
* Adjust comparison to WebAssembly
* Elaborate on the expression compilation
* Add section about handling constants in LLVM
* `prettier --write --print-width 80 --prose-wrap always`
* Add action item to prioritize running soak tests
* Clear up misleading wording used for fuzz tests
* Add specific set of LLVM instructions to restrict to
* Add strategy how to mitigate unsafe behavior around initializing/dropping values
* Make section on VRL constants in LLVM more specific
* Add action item to handle advanced function arguments
* Remove empty "Prior Art" section, our approach is well grounded in combining prior art
* Clarify that there's a workaround to emit LLVM IR for Rust's `std`
* Add action item to investigate heap allocations
* Reference that we have a literal "Runtime" in VRL
* Clarify that this approach does not imply production rollout
* Note that `resolve` methods will be preserved
* Note that the context is provided by any Vector component that uses VRL internally
* Add note about `panic` behavior
* Clarify section about memory safety
* Display benefits of using WebAssembly
* Lay out testing strategy
* Reference `lib/vrl/tests/tests` for testing
* Add manual review strategy for `unsafe` code

Signed-off-by: Pablo Sichert <[email protected]>
  • Loading branch information
pablosichert authored Jan 31, 2022
1 parent f5e8e5d commit ab2141c
Showing 1 changed file with 815 additions and 0 deletions.
Loading

0 comments on commit ab2141c

Please sign in to comment.