From 7b2f7a2932d28373758952c203a2e6699a6edf98 Mon Sep 17 00:00:00 2001 From: kyren Date: Mon, 12 Mar 2018 12:48:20 -0400 Subject: [PATCH] Add a simple userdata benchmark --- benches/benchmark.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/benches/benchmark.rs b/benches/benchmark.rs index 4614c6d..f3d0e9f 100644 --- a/benches/benchmark.rs +++ b/benches/benchmark.rs @@ -169,6 +169,28 @@ fn create_registry_values(c: &mut Criterion) { }); } +fn create_userdata(c: &mut Criterion) { + struct UserData { + i: i64, + } + impl LuaUserData for UserData {} + + c.bench_function("create userdata 10", |b| { + b.iter_with_setup( + || Lua::new(), + |lua| -> Lua { + { + let table: LuaTable = lua.create_table().unwrap(); + for i in 1..11 { + table.set(i, UserData { i }).unwrap(); + } + } + lua + }, + ); + }); +} + criterion_group! { name = benches; config = Criterion::default() @@ -181,7 +203,8 @@ criterion_group! { call_add_function, call_add_callback, call_append_callback, - create_registry_values + create_registry_values, + create_userdata } criterion_main!(benches);