From ecf5b50b0d1bc5154bfff038c7ba838689c1e0c7 Mon Sep 17 00:00:00 2001 From: sternj Date: Fri, 12 Aug 2022 19:48:45 -0400 Subject: [PATCH] Added toy in Rust --- benchmarks/toy-rs/Cargo.lock | 32 ++++++++++++++++++++++++++++++++ benchmarks/toy-rs/Cargo.toml | 9 +++++++++ benchmarks/toy-rs/src/main.rs | 21 +++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 benchmarks/toy-rs/Cargo.lock create mode 100644 benchmarks/toy-rs/Cargo.toml create mode 100644 benchmarks/toy-rs/src/main.rs diff --git a/benchmarks/toy-rs/Cargo.lock b/benchmarks/toy-rs/Cargo.lock new file mode 100644 index 0000000..f6d8e9e --- /dev/null +++ b/benchmarks/toy-rs/Cargo.lock @@ -0,0 +1,32 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "coz" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef55b3fe2f5477d59e12bc792e8b3c95a25bd099eadcfae006ecea136de76e2" +dependencies = [ + "libc", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.131" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40" + +[[package]] +name = "once_cell" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] +name = "toy-rs" +version = "0.1.0" +dependencies = [ + "coz", +] diff --git a/benchmarks/toy-rs/Cargo.toml b/benchmarks/toy-rs/Cargo.toml new file mode 100644 index 0000000..2966794 --- /dev/null +++ b/benchmarks/toy-rs/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "toy-rs" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +coz = "0.1" \ No newline at end of file diff --git a/benchmarks/toy-rs/src/main.rs b/benchmarks/toy-rs/src/main.rs new file mode 100644 index 0000000..48df30f --- /dev/null +++ b/benchmarks/toy-rs/src/main.rs @@ -0,0 +1,21 @@ +#[allow(unused)] +use coz; +use std::thread; +#[no_mangle] +pub fn a_first_fn() { + for _x in 0..2000000000 {} +} + +#[no_mangle] +pub fn b_second_fn() { + for _y in 0..1900000000 {} +} + +fn main() { + let handle1 = thread::spawn(|| a_first_fn()); + let handle2 = thread::spawn(|| b_second_fn()); + + handle1.join().unwrap(); + handle2.join().unwrap(); + coz::progress!(); +}