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>
|
||
|
```
|