diff options
| author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2022-04-24 09:28:46 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-24 09:28:46 -0300 |
| commit | 4b7d306a198d020ce2b6fa1c758c71714bfd036c (patch) | |
| tree | 10de79efbbd30107d0f04538c351b0765ec97a06 /serde_v8/benches/de.rs | |
| parent | 2eb8c3b82fd54027c35c87ccc94797e34e2e95fd (diff) | |
perf(serde_v8): zero-copy StringOrBuffer (#14381)
Diffstat (limited to 'serde_v8/benches/de.rs')
| -rw-r--r-- | serde_v8/benches/de.rs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/serde_v8/benches/de.rs b/serde_v8/benches/de.rs index 23b1161c7..72e5799cd 100644 --- a/serde_v8/benches/de.rs +++ b/serde_v8/benches/de.rs @@ -155,6 +155,54 @@ fn de_bstr_v8_1024_b(b: &mut Bencher) { ); } +fn de_sob_str_6b(b: &mut Bencher) { + dedo("'byebye'", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + +fn de_sob_str_1kb(b: &mut Bencher) { + dedo("'deno'.repeat(256)", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + +fn de_sob_buf_1b(b: &mut Bencher) { + dedo("new Uint8Array([97])", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + +fn de_sob_buf_1kb(b: &mut Bencher) { + dedo("(new Uint8Array(1*1024)).fill(42)", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + +fn de_sob_buf_16kb(b: &mut Bencher) { + dedo("(new Uint8Array(16*1024)).fill(42)", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + +fn de_sob_buf_512kb(b: &mut Bencher) { + dedo("(new Uint8Array(512*1024)).fill(42)", |scope, v| { + b.iter(move || { + let _: serde_v8::StringOrBuffer = serde_v8::from_v8(scope, v).unwrap(); + }) + }) +} + benchmark_group!( benches, de_struct_v8, @@ -174,6 +222,12 @@ benchmark_group!( de_tuple_v8_opt, de_bstr_v8_12_b, de_bstr_v8_1024_b, + de_sob_str_6b, + de_sob_str_1kb, + de_sob_buf_1b, + de_sob_buf_1kb, + de_sob_buf_16kb, + de_sob_buf_512kb, ); benchmark_main!(benches); |
