Skip to content

Releases: we-be/protobuf.v

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 22:23

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-10 (UTC)
  • cpu: AMD EPYC 7763 64-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 366 235.3 641 134.3 0.57
86 B decode 889 96.8 794 108.3 1.12
15.5 KB encode 89150 173.7 155263 99.7 0.57
15.5 KB decode 154606 100.1 196799 78.7 0.79
1.6 MB encode 13592042 116.2 16818352 93.9 0.81
1.6 MB decode 17753860 89.0 23071845 68.5 0.77

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 20:40

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-10 (UTC)
  • cpu: AMD EPYC 9V74 80-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 307 279.8 539 159.6 0.57
86 B decode 832 103.3 631 136.3 1.32
15.5 KB encode 77936 198.7 137877 112.3 0.57
15.5 KB decode 159069 97.3 157222 98.5 1.01
1.6 MB encode 12624912 125.1 15352198 102.9 0.82
1.6 MB decode 19373694 81.5 19404686 81.4 1.00

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 12:01

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-10 (UTC)
  • cpu: AMD EPYC 7763 64-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 312 275.4 636 135.3 0.49
86 B decode 825 104.3 816 105.4 1.01
15.5 KB encode 87992 176.0 153464 100.9 0.57
15.5 KB decode 156122 99.2 194936 79.4 0.80
1.6 MB encode 11373193 138.9 16165048 97.7 0.70
1.6 MB decode 18467082 85.5 21606801 73.1 0.85

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 23:59

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-09 (UTC)
  • cpu: AMD EPYC 9V74 80-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 301 286.1 542 158.8 0.56
86 B decode 836 102.9 637 135.1 1.31
15.5 KB encode 77254 200.4 137966 112.2 0.56
15.5 KB decode 165456 93.6 158812 97.5 1.04
1.6 MB encode 11205618 140.9 15071024 104.8 0.74
1.6 MB decode 19411502 81.4 19000302 83.1 1.02

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 22:55

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-09 (UTC)
  • cpu: AMD EPYC 9V74 80-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 297 289.2 536 160.4 0.55
86 B decode 808 106.5 634 135.7 1.27
15.5 KB encode 76467 202.5 138315 111.9 0.55
15.5 KB decode 156484 98.9 161028 96.2 0.97
1.6 MB encode 11192728 141.1 15046987 105.0 0.74
1.6 MB decode 18428839 85.7 18973378 83.2 0.97

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 02:44

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-09 (UTC)
  • cpu: AMD EPYC 7763 64-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 315 273.0 655 131.3 0.48
86 B decode 824 104.3 781 110.1 1.06
15.5 KB encode 84263 183.7 153436 100.9 0.55
15.5 KB decode 147519 105.0 192688 80.4 0.77
1.6 MB encode 11002432 143.5 16210136 97.4 0.68
1.6 MB decode 18009350 87.7 21708710 72.8 0.83

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 19:41

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-08 (UTC)
  • cpu: AMD EPYC 7763 64-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 315 272.9 638 134.9 0.49
86 B decode 991 86.8 774 111.2 1.28
15.5 KB encode 89699 172.6 157851 98.1 0.57
15.5 KB decode 186881 82.8 193022 80.2 0.97
1.6 MB encode 11456950 137.9 16391032 96.4 0.70
1.6 MB decode 22450339 70.3 21982056 71.8 1.02

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 19:15

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-08 (UTC)
  • cpu: AMD EPYC 9V74 80-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 154752 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 154752 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 380 226.6 536 160.6 0.71
86 B decode 932 92.2 634 135.7 1.47
15.5 KB encode 75178 206.0 138100 112.1 0.54
15.5 KB decode 193565 80.0 159740 96.9 1.21
1.6 MB encode 11306905 139.7 15113834 104.5 0.75
1.6 MB decode 23294131 67.8 19278453 81.9 1.21

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 17:36

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-08 (UTC)
  • cpu: AMD EPYC 7763 64-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 145109 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 145109 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
86 B encode 309 278.2 644 133.5 0.48
86 B decode 922 93.2 759 113.3 1.21
14.2 KB encode 77864 182.9 138651 102.7 0.56
14.2 KB decode 172770 82.4 168136 84.7 1.03
1.5 MB encode 10426210 141.7 14455932 102.2 0.72
1.5 MB decode 19329849 76.4 18725273 78.9 1.03

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 00:32

vpbgen

Prebuilt vpbgen binaries attached (linux-amd64, macos-arm64, macos-amd64).
The library itself installs from source: v install --git https://github.com/we-be/protobuf.v

protobuf.v benchmark report

  • date: 2026-08-06 (UTC)
  • cpu: AMD EPYC 9V74 80-Core Processor
  • v: V 0.5.2 , harness compiled with -prod
  • go: go1.26.5, google.golang.org/protobuf v1.36.11

Wire compatibility

  • V and Go encode 1000 identical messages to byte-identical output
  • Go decode of V bytes: IDENTICAL 105459 bytes, 1000 people
  • V decode of Go bytes: IDENTICAL 105459 bytes, 1000 people

Throughput

payload op V ns/op V MB/s Go ns/op Go MB/s V/Go time
77 B encode 209 367.7 200 385.0 1.05
77 B decode 651 118.3 306 251.9 2.13
10.4 KB encode 32377 322.2 23188 449.9 1.40
10.4 KB decode 103675 100.6 39818 262.0 2.60
1.1 MB encode 4364242 247.5 3313899 326.0 1.32
1.1 MB decode 11266960 95.9 5540088 195.0 2.03

V/Go time: 1.00 = parity, below 1 = V faster. Schema: bench.proto (people with
nested phone messages, packed varint tags). Both harnesses build identical data
(splitmix64, seed 42) and time identically (iterations scaled to ~1s per cell).

Benchmarks ran on a shared CI runner — good for V-vs-Go ratios, noisy for absolute numbers.