Manual build for maximum performance
The packaged installation methods are portable and the same executable can be safely shared between different machines with the same basic architecture (x86, ARM).
Building rq
for a specific CPU makes it not portable, but creates code
explicitly optimized for the machine its built on, enabling better
performance.
Building from source
Building from source requires your machine to have the rust tooling available.
We default to linking with lld
, so you need that as well.
First, clone the
rsonpath
repository:
git clone https://github.com/V0ldek/rsonpath.git
Building and installing is done most easily with just
:
just install-native
Without just
one can use:
RUSTFLAGS="-C target-cpu=native" cargo install --path ./crates/rsonpath
Building from crates.io
You can enable native CPU codegen when installing from crates.io
as well,
by overriding rustc
flags.
RUSTFLAGS="-C target-cpu=native" cargo install rsonpath
Verifying native optimizations are enabled
To verify that your rq
installation has native CPU support,
consult rq --version
and look for target-cpu=native
in the “Codegen flags”
field.
$ rq --version
rq 0.9.1
Commit SHA: 05ced6146b2dcc4e474f2dbc17c2e6d0986a7181
Features: default,simd
Opt level: 3
Target triple: x86_64-unknown-linux-gnu
Codegen flags: target-cpu=native,link-arg=-fuse-ld=lld
SIMD support: avx2;fast_quotes;fast_popcnt