Last night I tried to build ripgrep (grep on steroids). Of course I used Nexenta, but everything below will work for any illumos distribution. ripgrep is written in Rust and we can get the latest Rust version with pkgin (many thanks to Jonathan Perkin):
$ pkgin search rust
...
rust-1.30.0 = Safe, concurrent, practical language
...
$ pkgin install rust
$ export PATH=$PATH:/opt/local/bin
Building ripgrep:
$ git clone https://github.com/BurntSushi/ripgrep
$ cd ripgrep
$ cargo build --release
Updating crates.io index
warning: spurious network error (2 tries remaining): no Content-Type header in response; class=Net (12)
warning: spurious network error (1 tries remaining): no Content-Type header in response; class=Net (12)
error: failed to update registry `https://github.com/rust-lang/crates.io-index
Caused by:
failed to fetch `https://github.com/rust-lang/crates.io-index
Caused by:
no Content-Type header in response; class=Net (12)
Bang! If you have such error: clone crates.io-index git to the .cargo directory in your $HOME:
$ cd ~/.cargo
$ git clone --bare https://github.com/rust-lang/crates.io-index.git
Then create .cargo/config file:
$ cat .cargo/config
[registry]
index = "file:///home/alhazred/.cargo/crates.io-index.git"
Now build will successful:
$ cargo build --release
...
$ ./target/release/rg --version
ripgrep 0.10.0 (rev fb62266620)
-SIMD -AVX (compiled)
+SIMD -AVX (runtime)
Now you can compare the ripgrep speed and performance with usual grep. See Andrew Gallant's Blog for more information. .