mirror of
https://github.com/golang/go
synced 2024-11-15 02:20:32 -07:00
a92c80eb40
Implement the encoding.TextAppender interface for "net.IP".
Implement the encoding.(Binary|Text)Appender interfaces for
"netip.Addr", "netip.AddrPort" and "netip.Prefix".
"net.IP.MarshalText" also gets some performance improvements:
│ old │ new │
│ sec/op │ sec/op vs base │
IPMarshalText/IPv4-8 66.06n ± 1% 14.55n ± 1% -77.97% (p=0.000 n=10)
IPMarshalText/IPv6-8 117.00n ± 1% 63.18n ± 1% -46.00% (p=0.000 n=10)
IPMarshalText/IPv6_long-8 137.8n ± 1% 111.3n ± 1% -19.27% (p=0.000 n=10)
geomean 102.1n 46.77n -54.21%
│ old │ new │
│ B/op │ B/op vs base │
IPMarshalText/IPv4-8 32.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=10)
IPMarshalText/IPv6-8 48.00 ± 0% 0.00 ± 0% -100.00% (p=0.000 n=10)
IPMarshalText/IPv6_long-8 96.00 ± 0% 48.00 ± 0% -50.00% (p=0.000 n=10)
│ old │ new │
│ allocs/op │ allocs/op vs base │
IPMarshalText/IPv4-8 2.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10)
IPMarshalText/IPv6-8 2.000 ± 0% 0.000 ± 0% -100.00% (p=0.000 n=10)
IPMarshalText/IPv6_long-8 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.000 n=10)
All exported types in the standard library that implement the
"encoding.(Binary|Text)Marshaler" now also implement the
"encoding.(Binary|Text)Appender".
Fixes #62384
Change-Id: I7d3da8c5736a1ab9c54b9ac4bd2fbf850f9d1bd0
GitHub-Last-Rev: 5d27854725
GitHub-Pull-Request: golang/go#69022
Reviewed-on: https://go-review.googlesource.com/c/go/+/607520
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
25 lines
1.8 KiB
Plaintext
25 lines
1.8 KiB
Plaintext
pkg encoding, type BinaryAppender interface { AppendBinary } #62384
|
|
pkg encoding, type BinaryAppender interface, AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg encoding, type TextAppender interface { AppendText } #62384
|
|
pkg encoding, type TextAppender interface, AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg net/url, method (*URL) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg log/slog, method (Level) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg log/slog, method (*LevelVar) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg math/big, method (*Float) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg math/big, method (*Int) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg math/big, method (*Rat) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg regexp, method (*Regexp) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg time, method (Time) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg time, method (Time) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg math/rand/v2, method (*ChaCha8) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg math/rand/v2, method (*PCG) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg crypto/x509, method (OID) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg crypto/x509, method (OID) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg net, method (IP) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (Addr) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (Addr) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (AddrPort) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (AddrPort) AppendText([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (Prefix) AppendBinary([]uint8) ([]uint8, error) #62384
|
|
pkg net/netip, method (Prefix) AppendText([]uint8) ([]uint8, error) #62384
|