Commit 18ca995
authored
[Breaking] Use non-delta codec for oneof type (#146)
Resolves #127
This simplifies oneof codec and improves codec speed at the cost of slight increase
of uncompressed size. The zstd-compressed size is approximately the same (slightly
increased or decresed depending on the dataset).
### Benchmarks
Otel schema speed improvement:
```
│ bench_base.txt │ bench_current.txt │
│ sec/point │ sec/point vs base │
SerializeNative/STEF/serialize-10 64.36n ± 1% 63.10n ± 2% -1.96% (p=0.020 n=9)
DeserializeNative/STEF/deser-10 24.06n ± 1% 22.70n ± 1% -5.65% (p=0.000 n=9)
geomean 39.35n 37.85n -3.82%
```
Otel schema size before the change:
```
File Uncompressed Zstd Bytes
hipstershop-otelmetrics.stefz 432716 93702
hostandcollector-otelmetrics.stefz 1258652 83009
astronomy-otelmetrics.stefz 7462303 1652082
```
After the change:
```
File Uncompressed Zstd Bytes
hipstershop-otelmetrics.stefz 441558 95083
hostandcollector-otelmetrics.stefz 1266627 79835
astronomy-otelmetrics.stefz 7557122 1644464
```1 parent 55d0a17 commit 18ca995
File tree
17 files changed
+194
-206
lines changed- .github/workflows
- benchmarks/scripts
- examples
- jsonl/internal/jsonstef
- profile/internal/profile
- go/otel/oteltef
- java/src/main/java/com/example/oteltef
- stef-spec
- stefgen/templates
- go
- java
17 files changed
+194
-206
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments