rune icon indicating copy to clipboard operation
rune copied to clipboard

Project questions

Open douglas-raillard-arm opened this issue 1 year ago • 2 comments

Hi, I'm trying to evaluate rune for my needs and I had some questions (apologies if I missed the relevant doc) that might be interesting to expose un a FAQ:

  • Can rune be used on no_std or WASM, and if so will it stay this way ? I've seen some plans to use cranelift that would probably not align with that if non-optional.
  • Can rune be considered a subset of Rust? I would be extremely interested in a solution that allows user-defined plugins to be injected with a automatable way of making them part of the rust app and therefore faster, at the price of a recompilation and installing a rust tool chain.

douglas-raillard-arm avatar Dec 18 '22 00:12 douglas-raillard-arm

  1. Yes, even if cranelift support is incorporated it would be done in a manner which allowed for normal Vm execution.
  2. Strictly no; Since Rune lacks type annotations in a few places where they are required for Rust and has a few language features which Rust does not (like a built-in select). But I try to maintain strong similarities.

udoprog avatar Dec 18 '22 06:12 udoprog

Great, thanks for the quick answer. The use case is customization of an event stream analysis pipeline. That pipeline is built in Rust but is meant to be called from a Python API in jupyter notebook and I want users to be able to inject custom code for quick analysis & plot workflow. Specifically, I don't want to force having a rust setup and a lengthy compilation cycle.

The events are Linux ftrace events. The pipeline has to run both in a userspace by reading an event trace file but also in a kernel module where the pipeline is hooked directly on event callbacks. So that means things like long GC paused are really to be avoided if possible.

Since pure Rust will always win in terms of speed, non-throw away code will eventually need to be converted to rust so making that translation easy is a great perk. If it can be automated, it could even become a runtime switch but that's not a hard requirement.

douglas-raillard-arm avatar Dec 18 '22 10:12 douglas-raillard-arm