mirror of
https://github.com/nushell/nushell.git
synced 2024-12-25 08:29:07 +01:00
3143ded374
# Description This PR migrates the benchmark suit to Tango. Its different compared to other framework because it require 2 binaries, to run to do A/B benchmarking, this is currently limited to Linux, Max, (Windows require rustc nightly flag), by switching between two suits it can reduce noise and run the code "almost" concurrently. I have have been in contact with the maintainer, and bases this on the dev branch, as it had a newer API simular to criterion. This framework compared to Divan also have a simple file dump system if we want to generate graphs, do other analysis on later. I think overall this crate is very nice, a lot faster to compile and run then criterion, that's for sure.
19 lines
668 B
Rust
19 lines
668 B
Rust
#[cfg(windows)]
|
|
fn main() {
|
|
let mut res = winresource::WindowsResource::new();
|
|
res.set("ProductName", "Nushell");
|
|
res.set("FileDescription", "Nushell");
|
|
res.set("LegalCopyright", "Copyright (C) 2022");
|
|
res.set_icon("assets/nu_logo.ico");
|
|
res.compile()
|
|
.expect("Failed to run the Windows resource compiler (rc.exe)");
|
|
}
|
|
|
|
#[cfg(not(windows))]
|
|
fn main() {
|
|
// Tango uses dynamic linking, to allow us to dynamically change between two bench suit at runtime.
|
|
// This is currently not supported on non nightly rust, on windows.
|
|
println!("cargo:rustc-link-arg-benches=-rdynamic");
|
|
println!("cargo:rerun-if-changed=build.rs");
|
|
}
|