Skip to content

Conversation

@tigrannajaryan
Copy link
Collaborator

@tigrannajaryan tigrannajaryan commented Sep 23, 2025

Resolves #147

@github-actions
Copy link

github-actions bot commented Sep 23, 2025

Benchmark Result

Benchmark diff with base branch
goos: linux
goarch: amd64
pkg: github.com/splunk/stef/benchmarks
cpu: AMD EPYC 7763 64-Core Processor                
                                                 │ bench-main.txt │           bench-new.txt            │
                                                 │     sec/op     │   sec/op     vs base               │
SerializeNative/STEF/serialize-4                    10.500m ±  8%   8.300m ± 6%  -20.95% (p=0.002 n=6)
SerializeNative/STEFU/serialize-4                    36.41m ±  2%   35.95m ± 2%        ~ (p=0.093 n=6)
DeserializeNative/STEF/deser-4                       2.628m ±  2%   2.651m ± 1%        ~ (p=0.699 n=6)
DeserializeNative/STEFU/deser-4                      7.441m ±  0%   7.479m ± 0%   +0.51% (p=0.026 n=6)
SerializeFromPdata/STEF/serialize-4                  136.0m ±  2%   135.6m ± 2%        ~ (p=0.818 n=6)
SerializeFromPdata/STEFU/serialize-4                 35.88m ±  1%   35.62m ± 2%        ~ (p=0.589 n=6)
DeserializeToPdata/STEF/deserialize-4                42.41m ±  1%   42.84m ± 2%        ~ (p=0.132 n=6)
DeserializeToPdata/STEFU/deserialize-4               59.96m ±  1%   61.60m ± 3%   +2.73% (p=0.026 n=6)
STEFReaderRead-4                                     2.715m ±  1%   2.673m ± 1%   -1.55% (p=0.009 n=6)
STEFSerializeMultipart/astronomy-otelmetrics-4        3.272 ±  7%    3.310 ± 7%        ~ (p=0.699 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     72.03m ± 16%   78.22m ± 9%        ~ (p=0.093 n=6)
ReadSTEF-4                                           2.726m ±  1%   2.711m ± 1%        ~ (p=0.093 n=6)
ReadSTEFZ-4                                          4.175m ±  2%   4.356m ± 1%   +4.33% (p=0.002 n=6)
ReadSTEFZWriteSTEF-4                                 8.282m ±  1%   8.302m ± 0%        ~ (p=0.093 n=6)
geomean                                              21.83m         21.69m        -0.64%

                                                 │ bench-main.txt │           bench-new.txt            │
                                                 │   sec/point    │  sec/point   vs base               │
SerializeNative/STEF/serialize-4                     157.0n ±  8%   124.2n ± 6%  -20.92% (p=0.002 n=6)
SerializeNative/STEFU/serialize-4                    544.6n ±  2%   537.7n ± 2%        ~ (p=0.093 n=6)
DeserializeNative/STEF/deser-4                       39.30n ±  2%   39.64n ± 1%        ~ (p=0.699 n=6)
DeserializeNative/STEFU/deser-4                      111.3n ±  0%   111.9n ± 0%   +0.49% (p=0.030 n=6)
SerializeFromPdata/STEF/serialize-4                  2.034µ ±  2%   2.028µ ± 2%        ~ (p=0.777 n=6)
SerializeFromPdata/STEFU/serialize-4                 536.5n ±  1%   532.7n ± 2%        ~ (p=0.589 n=6)
DeserializeToPdata/STEF/deserialize-4                634.5n ±  1%   640.7n ± 2%        ~ (p=0.132 n=6)
DeserializeToPdata/STEFU/deserialize-4               897.0n ±  1%   921.4n ± 3%   +2.73% (p=0.026 n=6)
STEFReaderRead-4                                     40.59n ±  1%   39.96n ± 1%   -1.55% (p=0.009 n=6)
STEFSerializeMultipart/astronomy-otelmetrics-4       4.159µ ±  7%   4.207µ ± 7%        ~ (p=0.699 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     91.55n ± 16%   99.42n ± 9%        ~ (p=0.093 n=6)
ReadSTEF-4                                           40.80n ±  1%   40.58n ± 1%        ~ (p=0.104 n=6)
ReadSTEFZ-4                                          62.49n ±  2%   65.20n ± 1%   +4.33% (p=0.002 n=6)
ReadSTEFZWriteSTEF-4                                 123.9n ±  1%   124.3n ± 0%        ~ (p=0.056 n=6)
geomean                                              229.6n         228.2n        -0.64%

                                                 │ bench-main.txt │            bench-new.txt             │
                                                 │      B/op      │     B/op      vs base                │
SerializeNative/STEF/serialize-4                     3.620Mi ± 0%   3.618Mi ± 0%       ~ (p=0.240 n=6)
SerializeNative/STEFU/serialize-4                    7.539Mi ± 0%   7.539Mi ± 0%       ~ (p=0.485 n=6)
DeserializeNative/STEF/deser-4                       934.2Ki ± 0%   934.2Ki ± 0%       ~ (p=1.000 n=6) ¹
DeserializeNative/STEFU/deser-4                      1.470Mi ± 0%   1.470Mi ± 0%       ~ (p=1.000 n=6) ¹
SerializeFromPdata/STEF/serialize-4                  75.10Mi ± 0%   75.09Mi ± 0%       ~ (p=0.329 n=6)
SerializeFromPdata/STEFU/serialize-4                 7.539Mi ± 0%   7.539Mi ± 0%       ~ (p=0.065 n=6)
DeserializeToPdata/STEF/deserialize-4                29.91Mi ± 0%   29.91Mi ± 0%       ~ (p=0.058 n=6)
DeserializeToPdata/STEFU/deserialize-4               36.53Mi ± 0%   36.53Mi ± 0%       ~ (p=0.184 n=6)
STEFReaderRead-4                                     935.9Ki ± 0%   935.9Ki ± 0%       ~ (p=1.000 n=6) ¹
STEFSerializeMultipart/astronomy-otelmetrics-4       3.372Gi ± 0%   3.371Gi ± 0%       ~ (p=0.180 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4     20.40Mi ± 0%   20.40Mi ± 0%       ~ (p=0.188 n=6)
ReadSTEF-4                                           935.9Ki ± 0%   935.9Ki ± 0%       ~ (p=1.000 n=6)
ReadSTEFZ-4                                          10.27Mi ± 0%   10.27Mi ± 0%       ~ (p=0.589 n=6)
ReadSTEFZWriteSTEF-4                                 13.75Mi ± 0%   13.75Mi ± 0%       ~ (p=1.000 n=6)
geomean                                              10.46Mi        10.46Mi       -0.01%
¹ all samples are equal

                                                 │ bench-main.txt │            bench-new.txt            │
                                                 │   allocs/op    │  allocs/op   vs base                │
SerializeNative/STEF/serialize-4                      2.729k ± 1%   2.725k ± 0%       ~ (p=0.171 n=6)
SerializeNative/STEFU/serialize-4                      880.0 ± 0%    880.0 ± 0%       ~ (p=0.706 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.8k ± 0%   134.8k ± 0%       ~ (p=0.106 n=6)
SerializeFromPdata/STEFU/serialize-4                   881.0 ± 0%    881.5 ± 0%       ~ (p=0.288 n=6)
DeserializeToPdata/STEF/deserialize-4                 622.5k ± 0%   622.5k ± 0%       ~ (p=1.000 n=6) ¹
DeserializeToPdata/STEFU/deserialize-4                811.2k ± 0%   811.2k ± 0%       ~ (p=1.000 n=6) ¹
STEFReaderRead-4                                       465.0 ± 0%    465.0 ± 0%       ~ (p=1.000 n=6) ¹
STEFSerializeMultipart/astronomy-otelmetrics-4        13.21M ± 0%   13.21M ± 0%       ~ (p=0.818 n=6)
STEFDeserializeMultipart/astronomy-otelmetrics-4      2.293k ± 0%   2.293k ± 0%       ~ (p=1.000 n=6) ¹
ReadSTEF-4                                             465.0 ± 0%    465.0 ± 0%       ~ (p=1.000 n=6) ¹
ReadSTEFZ-4                                            499.0 ± 0%    499.0 ± 0%       ~ (p=1.000 n=6) ¹
ReadSTEFZWriteSTEF-4                                  1.310k ± 0%   1.310k ± 0%       ~ (p=0.455 n=6)
geomean                                               6.236k        6.236k       -0.01%
¹ all samples are equal
Benchmark result
benchstat bench-new.txt
goos: linux
goarch: amd64
pkg: github.com/splunk/stef/benchmarks
cpu: AMD EPYC 7763 64-Core Processor                
                                                 │ bench-new.txt │
                                                 │    sec/op     │
SerializeNative/STEF/serialize-4                     8.300m ± 6%
SerializeNative/STEFU/serialize-4                    35.95m ± 2%
DeserializeNative/STEF/deser-4                       2.651m ± 1%
DeserializeNative/STEFU/deser-4                      7.479m ± 0%
SerializeFromPdata/STEF/serialize-4                  135.6m ± 2%
SerializeFromPdata/STEFU/serialize-4                 35.62m ± 2%
DeserializeToPdata/STEF/deserialize-4                42.84m ± 2%
DeserializeToPdata/STEFU/deserialize-4               61.60m ± 3%
STEFReaderRead-4                                     2.673m ± 1%
STEFSerializeMultipart/astronomy-otelmetrics-4        3.310 ± 7%
STEFDeserializeMultipart/astronomy-otelmetrics-4     78.22m ± 9%
ReadSTEF-4                                           2.711m ± 1%
ReadSTEFZ-4                                          4.356m ± 1%
ReadSTEFZWriteSTEF-4                                 8.302m ± 0%
geomean                                              21.69m

                                                 │ bench-new.txt │
                                                 │   sec/point   │
SerializeNative/STEF/serialize-4                     124.2n ± 6%
SerializeNative/STEFU/serialize-4                    537.7n ± 2%
DeserializeNative/STEF/deser-4                       39.64n ± 1%
DeserializeNative/STEFU/deser-4                      111.9n ± 0%
SerializeFromPdata/STEF/serialize-4                  2.028µ ± 2%
SerializeFromPdata/STEFU/serialize-4                 532.7n ± 2%
DeserializeToPdata/STEF/deserialize-4                640.7n ± 2%
DeserializeToPdata/STEFU/deserialize-4               921.4n ± 3%
STEFReaderRead-4                                     39.96n ± 1%
STEFSerializeMultipart/astronomy-otelmetrics-4       4.207µ ± 7%
STEFDeserializeMultipart/astronomy-otelmetrics-4     99.42n ± 9%
ReadSTEF-4                                           40.58n ± 1%
ReadSTEFZ-4                                          65.20n ± 1%
ReadSTEFZWriteSTEF-4                                 124.3n ± 0%
geomean                                              228.2n

                                                 │ bench-new.txt │
                                                 │     B/op      │
SerializeNative/STEF/serialize-4                    3.618Mi ± 0%
SerializeNative/STEFU/serialize-4                   7.539Mi ± 0%
DeserializeNative/STEF/deser-4                      934.2Ki ± 0%
DeserializeNative/STEFU/deser-4                     1.470Mi ± 0%
SerializeFromPdata/STEF/serialize-4                 75.09Mi ± 0%
SerializeFromPdata/STEFU/serialize-4                7.539Mi ± 0%
DeserializeToPdata/STEF/deserialize-4               29.91Mi ± 0%
DeserializeToPdata/STEFU/deserialize-4              36.53Mi ± 0%
STEFReaderRead-4                                    935.9Ki ± 0%
STEFSerializeMultipart/astronomy-otelmetrics-4      3.371Gi ± 0%
STEFDeserializeMultipart/astronomy-otelmetrics-4    20.40Mi ± 0%
ReadSTEF-4                                          935.9Ki ± 0%
ReadSTEFZ-4                                         10.27Mi ± 0%
ReadSTEFZWriteSTEF-4                                13.75Mi ± 0%
geomean                                             10.46Mi

                                                 │ bench-new.txt │
                                                 │   allocs/op   │
SerializeNative/STEF/serialize-4                     2.725k ± 0%
SerializeNative/STEFU/serialize-4                     880.0 ± 0%
DeserializeNative/STEF/deser-4                        465.0 ± 0%
DeserializeNative/STEFU/deser-4                       469.0 ± 0%
SerializeFromPdata/STEF/serialize-4                  134.8k ± 0%
SerializeFromPdata/STEFU/serialize-4                  881.5 ± 0%
DeserializeToPdata/STEF/deserialize-4                622.5k ± 0%
DeserializeToPdata/STEFU/deserialize-4               811.2k ± 0%
STEFReaderRead-4                                      465.0 ± 0%
STEFSerializeMultipart/astronomy-otelmetrics-4       13.21M ± 0%
STEFDeserializeMultipart/astronomy-otelmetrics-4     2.293k ± 0%
ReadSTEF-4                                            465.0 ± 0%
ReadSTEFZ-4                                           499.0 ± 0%
ReadSTEFZWriteSTEF-4                                 1.310k ± 0%
geomean                                              6.236k

Resolves #147

stefc stands for STEF Compiler by analogy of protoc.
@tigrannajaryan tigrannajaryan marked this pull request as ready for review September 23, 2025 18:42
@tigrannajaryan tigrannajaryan requested review from Copilot and maheshkanote and removed request for maheshkanote September 23, 2025 18:42
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR renames the STEF code generator from "stefgen" to "stefc" (STEF Compiler), updating all references throughout the codebase including directory names, import paths, binary names, documentation, and generated code comments.

Key changes:

  • Renamed the stefgen directory to stefc and updated all internal references
  • Updated generated code headers to reference "stefc" instead of "stefgen"
  • Modified build scripts, makefiles, and documentation to use the new naming

Reviewed Changes

Copilot reviewed 205 out of 275 changed files in this pull request and generated no comments.

Show a summary per file
File Description
stefc/* Core compiler directory renamed from stefgen with updated imports and module references
makefile Updated build targets to reference stefc directory
java/src/main/java/com/example/oteltef/* Updated generated code headers to reference stefc
go/otel/oteltef/* Updated generated code headers to reference stefc
examples//internal/ Updated generated code headers and build scripts
docs/* Updated documentation to reference stefc instead of stefgen
README.md, CONTRIBUTING.md Updated project documentation

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@tigrannajaryan tigrannajaryan merged commit 8b66a86 into main Sep 24, 2025
10 checks passed
@tigrannajaryan tigrannajaryan deleted the tigran/stefg-stefc branch September 24, 2025 13:26
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.

Rename stefgen to stefc

2 participants