75 lines
6.8 KiB
Markdown
75 lines
6.8 KiB
Markdown
Reference:
|
|
CBOR Encoding is described in RFC7049 https://tools.ietf.org/html/rfc7049
|
|
|
|
|
|
Tests and benchmark:
|
|
|
|
```
|
|
sprint @ cbor>go test -v -benchmem -bench=.
|
|
=== RUN TestDecodeInteger
|
|
--- PASS: TestDecodeInteger (0.00s)
|
|
=== RUN TestDecodeString
|
|
--- PASS: TestDecodeString (0.00s)
|
|
=== RUN TestDecodeArray
|
|
--- PASS: TestDecodeArray (0.00s)
|
|
=== RUN TestDecodeMap
|
|
--- PASS: TestDecodeMap (0.00s)
|
|
=== RUN TestDecodeBool
|
|
--- PASS: TestDecodeBool (0.00s)
|
|
=== RUN TestDecodeFloat
|
|
--- PASS: TestDecodeFloat (0.00s)
|
|
=== RUN TestDecodeTimestamp
|
|
--- PASS: TestDecodeTimestamp (0.00s)
|
|
=== RUN TestDecodeCbor2Json
|
|
--- PASS: TestDecodeCbor2Json (0.00s)
|
|
=== RUN TestAppendString
|
|
--- PASS: TestAppendString (0.00s)
|
|
=== RUN TestAppendBytes
|
|
--- PASS: TestAppendBytes (0.00s)
|
|
=== RUN TestAppendTimeNow
|
|
--- PASS: TestAppendTimeNow (0.00s)
|
|
=== RUN TestAppendTimePastPresentInteger
|
|
--- PASS: TestAppendTimePastPresentInteger (0.00s)
|
|
=== RUN TestAppendTimePastPresentFloat
|
|
--- PASS: TestAppendTimePastPresentFloat (0.00s)
|
|
=== RUN TestAppendNull
|
|
--- PASS: TestAppendNull (0.00s)
|
|
=== RUN TestAppendBool
|
|
--- PASS: TestAppendBool (0.00s)
|
|
=== RUN TestAppendBoolArray
|
|
--- PASS: TestAppendBoolArray (0.00s)
|
|
=== RUN TestAppendInt
|
|
--- PASS: TestAppendInt (0.00s)
|
|
=== RUN TestAppendIntArray
|
|
--- PASS: TestAppendIntArray (0.00s)
|
|
=== RUN TestAppendFloat32
|
|
--- PASS: TestAppendFloat32 (0.00s)
|
|
goos: linux
|
|
goarch: amd64
|
|
pkg: github.com/toravir/zerolog/internal/cbor
|
|
BenchmarkAppendString/MultiBytesLast-4 30000000 43.3 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/NoEncoding-4 30000000 48.2 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/EncodingFirst-4 30000000 48.2 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/EncodingMiddle-4 30000000 41.7 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/EncodingLast-4 30000000 51.8 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/MultiBytesFirst-4 50000000 38.0 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendString/MultiBytesMiddle-4 50000000 38.0 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendTime/Integer-4 50000000 39.6 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendTime/Float-4 30000000 56.1 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/uint8-4 50000000 29.1 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/uint16-4 50000000 30.3 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/uint32-4 50000000 37.1 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int8-4 100000000 21.5 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int16-4 50000000 25.8 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int32-4 50000000 26.7 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int-Positive-4 100000000 21.5 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int-Negative-4 100000000 20.7 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/uint64-4 50000000 36.7 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendInt/int64-4 30000000 39.6 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendFloat/Float32-4 50000000 23.9 ns/op 0 B/op 0 allocs/op
|
|
BenchmarkAppendFloat/Float64-4 50000000 32.8 ns/op 0 B/op 0 allocs/op
|
|
PASS
|
|
ok github.com/toravir/zerolog/internal/cbor 34.969s
|
|
sprint @ cbor>
|
|
```
|