Skip to content

Commit d030a12

Browse files
committed
Script worker
Add a new worker called "script", which compiles previously introduced parser using LLVM into bytecode for execution. It also provides a set of functionality available at runtime for such scripts. Note that it's a breaking change in terms of the interface. If before the workload configuration was passed as a first positional argument, now it has to be passed via `-c workload.toml`, to distinguish from passing a script via `-f script.ber`.
1 parent 3464e60 commit d030a12

9 files changed

Lines changed: 981 additions & 54 deletions

File tree

Cargo.lock

Lines changed: 105 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,6 @@ io-uring = "0.7.10"
2828
enum_dispatch = "0.3.13"
2929
pest = "2.8.1"
3030
pest_derive = "2.8.1"
31+
llvm-sys = "201.0.1"
32+
docopt = "1.1.1"
33+
signal-hook = "0.3.18"

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ workloads:
3434
attached to a specified tracepoint. This allows to simulate program
3535
contention on the same attachment point.
3636

37+
# How to build
38+
39+
No magic is required, use `Cargo` to build everything as usual. There is one
40+
external dependency though, you need to install LLVM development package. LLVM
41+
version should correlated with the `llvm-sys` crate being used, currently it's
42+
v20.
43+
3744
# Configuration
3845

3946
There are few ways to tune the configuration:

0 commit comments

Comments
 (0)