Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(performance,vrl): Add RFC for "LLVM Backend for VRL" (vectordot…
…dev#10518) * 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