summaryrefslogtreecommitdiff
path: root/serde_v8/benches/de.rs
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2022-04-24 09:28:46 -0300
committerGitHub <noreply@github.com>2022-04-24 09:28:46 -0300
commit4b7d306a198d020ce2b6fa1c758c71714bfd036c (patch)
tree10de79efbbd30107d0f04538c351b0765ec97a06 /serde_v8/benches/de.rs
parent2eb8c3b82fd54027c35c87ccc94797e34e2e95fd (diff)
perf(serde_v8): zero-copy StringOrBuffer (#14381)
Diffstat (limited to 'serde_v8/benches/de.rs')
-rw-r--r--serde_v8/benches/de.rs54
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);