Skip to content

Conversation

@tigrannajaryan
Copy link
Collaborator

  • Remove struct {{.StructName}}Equal standalone func
  • Remove oneof {{.StructName}}Equal standalone func
  • Remove {{.MultimapName}}Equal standalone func
  • Remove {{.ArrayName}}Equal standalone func
  • Remove Freeze() from non-dictionary structs
  • Unexport cloneShared

- Remove struct {{.StructName}}Equal standalone func
- Remove oneof {{.StructName}}Equal standalone func
- Remove {{.MultimapName}}Equal standalone func
- Remove {{.ArrayName}}Equal standalone func
- Remove Freeze() from non-dictionary structs
- Unexport cloneShared
@github-actions
Copy link

github-actions bot commented Dec 8, 2025

Benchmark Result

Benchmark diff with base branch
goos: linux
goarch: amd64
pkg: github.com/splunk/stef/benchmarks
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                                 │ bench-main.txt │            bench-new.txt            │
                                                 │     sec/op     │    sec/op     vs base               │
SerializeNative/STEF/serialize-4                     7.755m ±  9%   7.409m ± 10%        ~ (p=0.180 n=6)
SerializeNative/STEFU/serialize-4                    30.74m ±  1%   30.63m ±  1%        ~ (p=0.485 n=6)
DeserializeNative/STEF/deser-4                       2.554m ±  3%   2.558m ±  1%        ~ (p=0.589 n=6)
DeserializeNative/STEFU/deser-4                      7.269m ±  0%   7.164m ±  1%   -1.45% (p=0.002 n=6)
SerializeFromPdata/STEF/serialize-4                  122.6m ±  3%   123.6m ±  3%        ~ (p=0.310 n=6)
SerializeFromPdata/STEFU/serialize-4                 30.67m ±  1%   30.87m ±  1%        ~ (p=0.180 n=6)
DeserializeToPdata/STEF/deserialize-4                47.29m ±  1%   47.06m ±  2%        ~ (p=0.589 n=6)
DeserializeToPdata/STEFU/deserialize-4               63.50m ±  1%   63.63m ±  1%        ~ (p=0.485 n=6)
STEFReaderRead-4                                     2.605m ±  1%   2.600m ±  0%        ~ (p=0.485 n=6)
STEFSerializeMultipart/astronomy-otelmetrics-4        3.157 ± 23%    3.200 ± 22%        ~ (p=0.818 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     79.65m ± 11%   83.57m ± 15%        ~ (p=0.937 n=6)
ReadSTEF-4                                           2.622m ±  2%   2.597m ±  2%        ~ (p=0.180 n=6)
ReadSTEFZ-4                                          3.796m ±  1%   3.359m ±  1%  -11.53% (p=0.002 n=6)
ReadSTEFZWriteSTEF-4                                 8.054m ±  4%   7.465m ±  2%   -7.32% (p=0.002 n=6)
geomean                                              20.68m         20.39m         -1.41%

                                                 │ bench-main.txt │            bench-new.txt            │
                                                 │   sec/point    │  sec/point    vs base               │
SerializeNative/STEF/serialize-4                     116.0n ±  9%   110.8n ± 10%        ~ (p=0.180 n=6)
SerializeNative/STEFU/serialize-4                    459.6n ±  1%   458.1n ±  1%        ~ (p=0.420 n=6)
DeserializeNative/STEF/deser-4                       38.18n ±  3%   38.26n ±  1%        ~ (p=0.589 n=6)
DeserializeNative/STEFU/deser-4                      108.7n ±  0%   107.1n ±  1%   -1.43% (p=0.002 n=6)
SerializeFromPdata/STEF/serialize-4                  1.834µ ±  3%   1.849µ ±  3%        ~ (p=0.258 n=6)
SerializeFromPdata/STEFU/serialize-4                 458.6n ±  1%   461.7n ±  1%        ~ (p=0.180 n=6)
DeserializeToPdata/STEF/deserialize-4                707.4n ±  1%   703.9n ±  2%        ~ (p=0.563 n=6)
DeserializeToPdata/STEFU/deserialize-4               949.8n ±  1%   951.9n ±  1%        ~ (p=0.509 n=6)
STEFReaderRead-4                                     38.96n ±  1%   38.88n ±  0%        ~ (p=0.485 n=6)
STEFSerializeMultipart/astronomy-otelmetrics-4       4.013µ ± 23%   4.068µ ± 22%        ~ (p=0.859 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     101.2n ± 11%   106.2n ± 15%        ~ (p=0.937 n=6)
ReadSTEF-4                                           39.25n ±  2%   38.87n ±  2%        ~ (p=0.180 n=6)
ReadSTEFZ-4                                          56.81n ±  1%   50.27n ±  1%  -11.52% (p=0.002 n=6)
ReadSTEFZWriteSTEF-4                                 120.5n ±  4%   111.8n ±  2%   -7.30% (p=0.002 n=6)
geomean                                              217.6n         214.5n         -1.40%

                                                 │ bench-main.txt │            bench-new.txt             │
                                                 │      B/op      │     B/op      vs base                │
SerializeNative/STEF/serialize-4                     3.342Mi ± 0%   3.341Mi ± 0%       ~ (p=0.065 n=6)
SerializeNative/STEFU/serialize-4                    7.530Mi ± 0%   7.530Mi ± 0%       ~ (p=0.097 n=6)
DeserializeNative/STEF/deser-4                       934.4Ki ± 0%   934.4Ki ± 0%       ~ (p=1.000 n=6) ¹
DeserializeNative/STEFU/deser-4                      1.471Mi ± 0%   1.471Mi ± 0%       ~ (p=1.000 n=6)
SerializeFromPdata/STEF/serialize-4                  74.82Mi ± 0%   74.82Mi ± 0%       ~ (p=0.896 n=6)
SerializeFromPdata/STEFU/serialize-4                 7.530Mi ± 0%   7.530Mi ± 0%       ~ (p=0.504 n=6)
DeserializeToPdata/STEF/deserialize-4                31.97Mi ± 0%   31.97Mi ± 0%       ~ (p=0.617 n=6)
DeserializeToPdata/STEFU/deserialize-4               38.64Mi ± 0%   38.64Mi ± 0%       ~ (p=0.868 n=6)
STEFReaderRead-4                                     936.2Ki ± 0%   936.2Ki ± 0%       ~ (p=1.000 n=6) ¹
STEFSerializeMultipart/astronomy-otelmetrics-4       3.363Gi ± 0%   3.362Gi ± 0%       ~ (p=0.589 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     20.41Mi ± 0%   20.41Mi ± 0%       ~ (p=0.667 n=6)
ReadSTEF-4                                           936.2Ki ± 0%   936.2Ki ± 0%       ~ (p=0.102 n=6)
ReadSTEFZ-4                                          10.27Mi ± 0%   10.27Mi ± 0%       ~ (p=0.058 n=6)
ReadSTEFZWriteSTEF-4                                 13.43Mi ± 0%   13.43Mi ± 0%       ~ (p=0.366 n=6)
geomean                                              10.47Mi        10.47Mi       -0.00%
¹ all samples are equal

                                                 │ bench-main.txt │            bench-new.txt            │
                                                 │   allocs/op    │  allocs/op   vs base                │
SerializeNative/STEF/serialize-4                      2.652k ± 0%   2.650k ± 0%  -0.09% (p=0.039 n=6)
SerializeNative/STEFU/serialize-4                      884.0 ± 0%    884.0 ± 0%       ~ (p=1.000 n=6)
DeserializeNative/STEF/deser-4                         465.0 ± 0%    465.0 ± 0%       ~ (p=1.000 n=6) ¹
DeserializeNative/STEFU/deser-4                        469.0 ± 0%    469.0 ± 0%       ~ (p=1.000 n=6) ¹
SerializeFromPdata/STEF/serialize-4                   134.7k ± 0%   134.7k ± 0%       ~ (p=1.000 n=6)
SerializeFromPdata/STEFU/serialize-4                   885.0 ± 0%    885.0 ± 0%       ~ (p=1.000 n=6)
DeserializeToPdata/STEF/deserialize-4                 756.2k ± 0%   756.2k ± 0%       ~ (p=1.000 n=6)
DeserializeToPdata/STEFU/deserialize-4                944.9k ± 0%   944.9k ± 0%       ~ (p=1.000 n=6) ¹
STEFReaderRead-4                                       465.0 ± 0%    465.0 ± 0%       ~ (p=1.000 n=6) ¹
STEFSerializeMultipart/astronomy-otelmetrics-4        13.15M ± 0%   13.15M ± 0%       ~ (p=0.589 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4      2.294k ± 0%   2.294k ± 0%       ~ (p=1.000 n=6) ¹
ReadSTEF-4                                             466.0 ± 0%    466.0 ± 0%       ~ (p=1.000 n=6) ¹
ReadSTEFZ-4                                            503.0 ± 0%    502.5 ± 0%       ~ (p=0.182 n=6)
ReadSTEFZWriteSTEF-4                                  1.233k ± 0%   1.232k ± 0%       ~ (p=0.182 n=6)
geomean                                               6.359k        6.357k       -0.02%
¹ all samples are equal
Benchmark result
benchstat bench-new.txt
goos: linux
goarch: amd64
pkg: github.com/splunk/stef/benchmarks
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                                 │ bench-new.txt │
                                                 │    sec/op     │
SerializeNative/STEF/serialize-4                    7.409m ± 10%
SerializeNative/STEFU/serialize-4                   30.63m ±  1%
DeserializeNative/STEF/deser-4                      2.558m ±  1%
DeserializeNative/STEFU/deser-4                     7.164m ±  1%
SerializeFromPdata/STEF/serialize-4                 123.6m ±  3%
SerializeFromPdata/STEFU/serialize-4                30.87m ±  1%
DeserializeToPdata/STEF/deserialize-4               47.06m ±  2%
DeserializeToPdata/STEFU/deserialize-4              63.63m ±  1%
STEFReaderRead-4                                    2.600m ±  0%
STEFSerializeMultipart/astronomy-otelmetrics-4       3.200 ± 22%
STEFDeserializeMultipart/astronomy-otelmetrics-4    83.57m ± 15%
ReadSTEF-4                                          2.597m ±  2%
ReadSTEFZ-4                                         3.359m ±  1%
ReadSTEFZWriteSTEF-4                                7.465m ±  2%
geomean                                             20.39m

                                                 │ bench-new.txt │
                                                 │   sec/point   │
SerializeNative/STEF/serialize-4                    110.8n ± 10%
SerializeNative/STEFU/serialize-4                   458.1n ±  1%
DeserializeNative/STEF/deser-4                      38.26n ±  1%
DeserializeNative/STEFU/deser-4                     107.1n ±  1%
SerializeFromPdata/STEF/serialize-4                 1.849µ ±  3%
SerializeFromPdata/STEFU/serialize-4                461.7n ±  1%
DeserializeToPdata/STEF/deserialize-4               703.9n ±  2%
DeserializeToPdata/STEFU/deserialize-4              951.9n ±  1%
STEFReaderRead-4                                    38.88n ±  0%
STEFSerializeMultipart/astronomy-otelmetrics-4      4.068µ ± 22%
STEFDeserializeMultipart/astronomy-otelmetrics-4    106.2n ± 15%
ReadSTEF-4                                          38.87n ±  2%
ReadSTEFZ-4                                         50.27n ±  1%
ReadSTEFZWriteSTEF-4                                111.8n ±  2%
geomean                                             214.5n

                                                 │ bench-new.txt │
                                                 │     B/op      │
SerializeNative/STEF/serialize-4                    3.341Mi ± 0%
SerializeNative/STEFU/serialize-4                   7.530Mi ± 0%
DeserializeNative/STEF/deser-4                      934.4Ki ± 0%
DeserializeNative/STEFU/deser-4                     1.471Mi ± 0%
SerializeFromPdata/STEF/serialize-4                 74.82Mi ± 0%
SerializeFromPdata/STEFU/serialize-4                7.530Mi ± 0%
DeserializeToPdata/STEF/deserialize-4               31.97Mi ± 0%
DeserializeToPdata/STEFU/deserialize-4              38.64Mi ± 0%
STEFReaderRead-4                                    936.2Ki ± 0%
STEFSerializeMultipart/astronomy-otelmetrics-4      3.362Gi ± 0%
STEFDeserializeMultipart/astronomy-otelmetrics-4    20.41Mi ± 0%
ReadSTEF-4                                          936.2Ki ± 0%
ReadSTEFZ-4                                         10.27Mi ± 0%
ReadSTEFZWriteSTEF-4                                13.43Mi ± 0%
geomean                                             10.47Mi

                                                 │ bench-new.txt │
                                                 │   allocs/op   │
SerializeNative/STEF/serialize-4                     2.650k ± 0%
SerializeNative/STEFU/serialize-4                     884.0 ± 0%
DeserializeNative/STEF/deser-4                        465.0 ± 0%
DeserializeNative/STEFU/deser-4                       469.0 ± 0%
SerializeFromPdata/STEF/serialize-4                  134.7k ± 0%
SerializeFromPdata/STEFU/serialize-4                  885.0 ± 0%
DeserializeToPdata/STEF/deserialize-4                756.2k ± 0%
DeserializeToPdata/STEFU/deserialize-4               944.9k ± 0%
STEFReaderRead-4                                      465.0 ± 0%
STEFSerializeMultipart/astronomy-otelmetrics-4       13.15M ± 0%
STEFDeserializeMultipart/astronomy-otelmetrics-4     2.294k ± 0%
ReadSTEF-4                                            466.0 ± 0%
ReadSTEFZ-4                                           502.5 ± 0%
ReadSTEFZWriteSTEF-4                                 1.232k ± 0%
geomean                                              6.357k

@tigrannajaryan tigrannajaryan merged commit 5c50753 into main Dec 9, 2025
9 checks passed
@tigrannajaryan tigrannajaryan deleted the tigran/cleanup-go-api branch December 9, 2025 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants