xref: Generate union targets

The effect on rpc is minimal, but tests that use unions
have large gains.

benchmark                              old ns/op     new ns/op     delta
BenchmarkVomEncodeCustomer-12          45352         45135
-0.48%
BenchmarkVomDecodeCustomer-12          11895         7186
-39.59%
BenchmarkVomEncoder1Customer-12        48369         45017
-6.93%
BenchmarkVomEncoder1000Customer-12     3979336       3804403
-4.40%
BenchmarkVomEncoder1000RawBytes-12     352758        341902
-3.08%
BenchmarkVomDecoder1Customer-12        230814        189610
-17.85%
BenchmarkVomDecoder1000Customer-12     10466615      5979549
-42.87%
BenchmarkVomDecoder1000RawBytes-12     1084474       1021549
-5.80%
BenchmarkGobEncoder1Customer-12        21937         21207
-3.33%
BenchmarkGobEncoder1000Customer-12     3160518       2832801
-10.37%
BenchmarkGobDecoder1Customer-12        68413         67092
-1.93%
BenchmarkGobDecoder1000Customer-12     3523149       3417621
-3.00%

MultiPart: 2/3
Change-Id: I24af135561f5fa8cb4477f2605e02a70588513aa
18 files changed
tree: 943682bb29b010cb6f342f7555d1c551e9308b4c
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING.md
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.