martin-g commented on code in PR #139:
URL: https://github.com/apache/avro-rs/pull/139#discussion_r1988589463
##########
avro/src/ser_direct.rs:
##########
@@ -499,7 +498,7 @@ impl<'s, W: Write> DirectSerializer<'s, W> {
root_schema: schema,
names,
enclosing_namespace,
- schema_stack: Vec::new(),
+ schema_stack: Default::default(),
Review Comment:
For me it shows small improvements with LinkedList:
```
cargo bench serde
Compiling apache-avro v0.18.0 (/home/martin/git/apache/avro-rs/avro)
Compiling apache-avro-derive v0.18.0
(/home/martin/git/apache/avro-rs/avro_derive)
Compiling hello-wasm v0.1.0 (/home/martin/git/apache/avro-rs/wasm-demo)
Finished `bench` profile [optimized] target(s) in 12.52s
Running benches/serde.rs (target/release/deps/serde-cc1227daf82840e0)
small schema, write 1 record (serde way)
time: [2.3658 µs 2.4030 µs 2.4490 µs]
change: [-4.4973% -2.9172% -1.2806%] (p = 0.00 <
0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
6 (6.00%) high mild
4 (4.00%) high severe
small schema, write 100 records (serde way)
time: [10.437 µs 10.519 µs 10.620 µs]
change: [-5.0968% -2.9766% -0.9836%] (p = 0.00 <
0.05)
Change within noise threshold.
Found 15 outliers among 100 measurements (15.00%)
6 (6.00%) high mild
9 (9.00%) high severe
big schema, write 1 record (serde way)
time: [4.6004 µs 4.6281 µs 4.6591 µs]
change: [-10.071% -7.9251% -5.8801%] (p = 0.00 <
0.05)
Performance has improved.
Found 10 outliers among 100 measurements (10.00%)
5 (5.00%) high mild
5 (5.00%) high severe
big schema, write 100 records (serde way)
time: [41.988 µs 42.455 µs 43.000 µs]
change: [-1.8518% -1.0529% -0.1373%] (p = 0.02 <
0.05)
Change within noise threshold.
Found 13 outliers among 100 measurements (13.00%)
4 (4.00%) high mild
9 (9.00%) high severe
small schema, write 10k records (serde way)
time: [822.03 µs 826.87 µs 832.20 µs]
change: [+0.4821% +1.4965% +2.4936%] (p = 0.01 <
0.05)
Change within noise threshold.
big scheam, write 10k records (serde way)
time: [3.6829 ms 3.7066 ms 3.7332 ms]
change: [-4.5266% -3.5488% -2.6061%] (p = 0.00 <
0.05)
Performance has improved.
```
Going back to Vec:
```
cargo bench serde
Compiling apache-avro v0.18.0 (/home/martin/git/apache/avro-rs/avro)
Compiling apache-avro-derive v0.18.0
(/home/martin/git/apache/avro-rs/avro_derive)
Compiling hello-wasm v0.1.0 (/home/martin/git/apache/avro-rs/wasm-demo)
Finished `bench` profile [optimized] target(s) in 15.77s
Running benches/serde.rs (target/release/deps/serde-cc1227daf82840e0)
small schema, write 1 record (serde way)
time: [2.3788 µs 2.3980 µs 2.4242 µs]
change: [+5.6754% +7.4976% +9.3008%] (p = 0.00 <
0.05)
Performance has regressed.
Found 9 outliers among 100 measurements (9.00%)
3 (3.00%) high mild
6 (6.00%) high severe
small schema, write 100 records (serde way)
time: [10.412 µs 10.479 µs 10.554 µs]
change: [-0.5517% +0.4947% +1.6596%] (p = 0.41 >
0.05)
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
5 (5.00%) high mild
7 (7.00%) high severe
big schema, write 1 record (serde way)
time: [4.6428 µs 4.6718 µs 4.7082 µs]
change: [+3.5714% +5.4697% +7.5133%] (p = 0.00 <
0.05)
Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
4 (4.00%) high mild
9 (9.00%) high severe
big schema, write 100 records (serde way)
time: [41.769 µs 41.981 µs 42.247 µs]
change: [+0.9885% +2.1415% +3.5064%] (p = 0.00 <
0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
5 (5.00%) high mild
7 (7.00%) high severe
small schema, write 10k records (serde way)
time: [812.16 µs 818.92 µs 826.53 µs]
change: [-3.4624% -2.2517% -1.0241%] (p = 0.00 <
0.05)
Performance has improved.
Found 2 outliers among 20 measurements (10.00%)
1 (5.00%) high mild
1 (5.00%) high severe
big scheam, write 10k records (serde way)
time: [3.6963 ms 3.7240 ms 3.7561 ms]
change: [-3.6033% -2.6406% -1.6162%] (p = 0.00 <
0.05)
Performance has improved.
Found 1 outliers among 20 measurements (5.00%)
```
and again LinkedList:
```
cargo bench serde
Compiling apache-avro v0.18.0 (/home/martin/git/apache/avro-rs/avro)
Compiling apache-avro-derive v0.18.0
(/home/martin/git/apache/avro-rs/avro_derive)
Compiling hello-wasm v0.1.0 (/home/martin/git/apache/avro-rs/wasm-demo)
Finished `bench` profile [optimized] target(s) in 11.19s
Running benches/serde.rs (target/release/deps/serde-cc1227daf82840e0)
small schema, write 1 record (serde way)
time: [2.2771 µs 2.2932 µs 2.3141 µs]
change: [-8.0503% -6.2473% -4.6485%] (p = 0.00 <
0.05)
Performance has improved.
Found 9 outliers among 100 measurements (9.00%)
4 (4.00%) high mild
5 (5.00%) high severe
small schema, write 100 records (serde way)
time: [10.690 µs 10.806 µs 10.940 µs]
change: [+0.1857% +1.6209% +2.9866%] (p = 0.02 <
0.05)
Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
5 (5.00%) high mild
4 (4.00%) high severe
big schema, write 1 record (serde way)
time: [4.6742 µs 4.7222 µs 4.7790 µs]
change: [-3.0179% -0.6372% +1.7778%] (p = 0.62 >
0.05)
No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
3 (3.00%) high mild
7 (7.00%) high severe
big schema, write 100 records (serde way)
time: [41.741 µs 42.020 µs 42.347 µs]
change: [-2.2702% -0.7627% +0.7781%] (p = 0.33 >
0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) high mild
4 (4.00%) high severe
small schema, write 10k records (serde way)
time: [826.20 µs 830.19 µs 835.08 µs]
change: [+0.2122% +1.3489% +2.3329%] (p = 0.02 <
0.05)
Change within noise threshold.
big scheam, write 10k records (serde way)
time: [3.7003 ms 3.7235 ms 3.7506 ms]
change: [-0.8469% +0.2209% +1.1796%] (p = 0.68 >
0.05)
No change in performance detected.
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]