summaryrefslogtreecommitdiff
path: root/examples/rust/src
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2024-01-30 01:12:38 +0100
committerHenry Gressmann <mail@henrygressmann.de>2024-01-30 01:12:38 +0100
commit893396aa3ce270280a2a1a87007a4b84edc8b898 (patch)
tree59690b8bee97a158a01dd49f4b6e611bdf284546 /examples/rust/src
parent4919d8c2f86f69f669a1afba2a28d5c344fe7197 (diff)
perf: add more benchmarks
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'examples/rust/src')
-rw-r--r--examples/rust/src/argon2id.rs14
-rw-r--r--examples/rust/src/fibonacci.rs8
-rw-r--r--examples/rust/src/print.rs7
3 files changed, 15 insertions, 14 deletions
diff --git a/examples/rust/src/argon2id.rs b/examples/rust/src/argon2id.rs
new file mode 100644
index 0000000..01ea7ca
--- /dev/null
+++ b/examples/rust/src/argon2id.rs
@@ -0,0 +1,14 @@
+#![no_main]
+
+#[no_mangle]
+pub extern "C" fn argon2id(m_cost: i32, t_cost: i32, p_cost: i32) -> i32 {
+ let password = b"password";
+ let salt = b"some random salt";
+
+ let params = argon2::Params::new(m_cost as u32, t_cost as u32, p_cost as u32, None).unwrap();
+ let argon = argon2::Argon2::new(argon2::Algorithm::Argon2id, argon2::Version::V0x13, params);
+
+ let mut hash = [0u8; 32];
+ argon.hash_password_into(password, salt, &mut hash).unwrap();
+ hash[0] as i32
+}
diff --git a/examples/rust/src/fibonacci.rs b/examples/rust/src/fibonacci.rs
index 7924aef..8de496d 100644
--- a/examples/rust/src/fibonacci.rs
+++ b/examples/rust/src/fibonacci.rs
@@ -1,11 +1,5 @@
-#![no_std]
#![no_main]
-
-#[cfg(not(test))]
-#[panic_handler]
-fn panic(_info: &core::panic::PanicInfo) -> ! {
- core::arch::wasm32::unreachable()
-}
+#![allow(non_snake_case)]
#[no_mangle]
pub extern "C" fn fibonacci(n: i32) -> i32 {
diff --git a/examples/rust/src/print.rs b/examples/rust/src/print.rs
index 34f3c7f..d04daa3 100644
--- a/examples/rust/src/print.rs
+++ b/examples/rust/src/print.rs
@@ -1,12 +1,5 @@
-#![no_std]
#![no_main]
-#[cfg(not(test))]
-#[panic_handler]
-fn panic(_info: &core::panic::PanicInfo) -> ! {
- core::arch::wasm32::unreachable()
-}
-
#[link(wasm_import_module = "env")]
extern "C" {
fn printi32(x: i32);