Thomas Pelletier
64fe47161f
API: Encoder and Decoder options are chainable ( #670 )
...
Fixes #583
2021-11-13 19:04:53 -05:00
Sterling Hanenkamp
4984dcb5e9
encode: ensure floats have decimal point ( #615 )
...
Fixes #571
Co-authored-by: Sterling Hanenkamp <sterling@ziprecruiter.com >
2021-10-14 08:34:54 -04:00
Thomas Pelletier
f3bb20ea79
Benchmark marshal ( #550 )
2021-06-02 09:29:19 -04:00
Thomas Pelletier
250e073408
Stack-based unmarshaler ( #546 )
...
* Benchmark script
* Rewrite unmarshaler using the stack
Instead of tracking the build chain using `target`s, use the stack
instead.
Working and most benchmarks look good, but regression on structs unmarshalling.
~60% slower on ReferenceFile/struct.
* Shortcut to check if last node of iterator
* Remove unecessary pointer allocation
* Skip over unused keys without marking them as seen
* Add some tests
* Fix mktemp on macos
2021-05-31 12:14:13 -04:00
Thomas Pelletier
95c701b253
Increase test coverage ( #538 )
...
Also fix array in map bug.
2021-05-10 20:17:05 -04:00
Thomas Pelletier
45ea20024b
Readme ( #535 )
2021-05-08 17:03:51 -04:00
Thomas Pelletier
ea225df3ed
v2: errors ( #534 )
...
```
name old time/op new time/op delta
UnmarshalDataset/config-32 86.7ms ± 2% 87.5ms ± 2% ~ (p=0.113 n=9+10)
UnmarshalDataset/canada-32 129ms ± 4% 106ms ± 3% -17.94% (p=0.000 n=10+10)
UnmarshalDataset/citm_catalog-32 59.4ms ± 5% 58.7ms ± 5% ~ (p=0.393 n=10+10)
UnmarshalDataset/twitter-32 27.0ms ± 7% 26.9ms ± 6% ~ (p=0.720 n=10+9)
UnmarshalDataset/code-32 326ms ± 4% 322ms ± 7% ~ (p=0.661 n=9+10)
UnmarshalDataset/example-32 510µs ±11% 526µs ± 7% ~ (p=0.182 n=10+9)
UnmarshalSimple-32 1.41µs ± 6% 1.41µs ± 4% ~ (p=0.736 n=10+9)
ReferenceFile-32 45.6µs ± 3% 43.9µs ±10% ~ (p=0.089 n=10+10)
name old speed new speed delta
UnmarshalDataset/config-32 12.1MB/s ± 2% 12.0MB/s ± 2% ~ (p=0.108 n=9+10)
UnmarshalDataset/canada-32 17.1MB/s ± 4% 20.9MB/s ± 3% +21.86% (p=0.000 n=10+10)
UnmarshalDataset/citm_catalog-32 9.41MB/s ± 5% 9.51MB/s ± 5% ~ (p=0.362 n=10+10)
UnmarshalDataset/twitter-32 16.4MB/s ± 8% 16.5MB/s ± 6% ~ (p=0.704 n=10+9)
UnmarshalDataset/code-32 8.24MB/s ± 4% 8.34MB/s ± 7% ~ (p=0.675 n=9+10)
UnmarshalDataset/example-32 15.9MB/s ±11% 15.4MB/s ± 7% ~ (p=0.182 n=10+9)
ReferenceFile-32 115MB/s ± 4% 120MB/s ±10% ~ (p=0.085 n=10+10)
name old alloc/op new alloc/op delta
UnmarshalDataset/config-32 16.9MB ± 0% 16.9MB ± 0% -0.02% (p=0.000 n=10+10)
UnmarshalDataset/canada-32 76.8MB ± 0% 74.3MB ± 0% -3.31% (p=0.000 n=10+10)
UnmarshalDataset/citm_catalog-32 37.3MB ± 0% 37.1MB ± 0% -0.60% (p=0.000 n=9+10)
UnmarshalDataset/twitter-32 15.6MB ± 0% 15.6MB ± 0% -0.09% (p=0.000 n=10+10)
UnmarshalDataset/code-32 60.2MB ± 0% 59.3MB ± 0% -1.51% (p=0.000 n=10+9)
UnmarshalDataset/example-32 238kB ± 0% 238kB ± 0% -0.18% (p=0.000 n=10+10)
ReferenceFile-32 11.8kB ± 0% 11.8kB ± 0% ~ (all equal)
name old allocs/op new allocs/op delta
UnmarshalDataset/config-32 653k ± 0% 645k ± 0% -1.20% (p=0.000 n=10+6)
UnmarshalDataset/canada-32 1.01M ± 0% 0.90M ± 0% -11.04% (p=0.000 n=9+10)
UnmarshalDataset/citm_catalog-32 384k ± 0% 370k ± 0% -3.75% (p=0.000 n=10+10)
UnmarshalDataset/twitter-32 160k ± 0% 157k ± 0% -1.32% (p=0.000 n=10+10)
UnmarshalDataset/code-32 2.97M ± 0% 2.91M ± 0% -2.15% (p=0.000 n=10+7)
UnmarshalDataset/example-32 3.69k ± 0% 3.63k ± 0% -1.52% (p=0.000 n=10+10)
ReferenceFile-32 253 ± 0% 253 ± 0% ~ (all equal)
```
2021-05-08 16:04:25 -04:00
Vincent Serpoul
201d5dd422
golangci-lint: misc ( #529 )
2021-04-27 20:29:00 -04:00
Thomas Pelletier
931f02a519
encoder: support indentation ( #525 )
2021-04-23 17:08:27 -04:00
Vincent Serpoul
466faaab9f
golangci-lint: marshaler, strict ( #523 )
2021-04-23 10:41:21 -04:00
Thomas Pelletier
e443b4fdb8
encoder: support TextMarshaler ( #522 )
...
Fixes #521
2021-04-22 10:13:41 -04:00
Thomas Pelletier
9ba52996d8
Encoder multiline array ( #520 )
2021-04-21 22:13:45 -04:00
Thomas Pelletier
6fe332a869
Encoder inline tables ( #519 )
2021-04-21 19:11:15 -04:00
Vincent Serpoul
dca2103910
golangci-lint: marshaler ( #516 )
2021-04-20 20:24:44 -04:00
Thomas Pelletier
9e122af5fc
encoder: support multiline strings + local options
2021-04-10 17:58:37 -04:00
Thomas Pelletier
e1f035461b
encoder: simplify quoted strings escaping
2021-04-08 22:02:41 -04:00
Thomas Pelletier
37714006b6
V2 Marshaler MVP ( #495 )
2021-04-08 10:07:29 -04:00