Cameron Moore
|
466bfe8664
|
encoder: inline tables create map in nil interface (#496)
Co-authored-by: Thomas Pelletier <pelletier.thomas@gmail.com>
|
2021-04-09 09:02:00 -04:00 |
|
Thomas Pelletier
|
ca41df4a59
|
encoder: only create empty map when target exists
|
2021-04-08 19:40:34 -04:00 |
|
Thomas Pelletier
|
37714006b6
|
V2 Marshaler MVP (#495)
|
2021-04-08 10:07:29 -04:00 |
|
Thomas Pelletier
|
275e366c17
|
decoder: handle casting local date into time.Time
Refs #494
|
2021-04-08 08:00:31 -04:00 |
|
Thomas Pelletier
|
32da85ab11
|
Decoding error position tracking
|
2021-03-30 21:43:57 -04:00 |
|
Thomas Pelletier
|
18d45c446b
|
wip: decoder errors
|
2021-03-30 19:52:02 -04:00 |
|
Thomas Pelletier
|
2714786b37
|
Add decoder interface
|
2021-03-29 21:30:41 -04:00 |
|
Thomas Pelletier
|
da21b0aecf
|
wip: correctness pass on the AST
|
2021-03-28 22:12:19 -04:00 |
|
Thomas Pelletier
|
390927a0cd
|
Reuse AST storage between top-level expressions
```
Comparing:
old: v2-wip/1da2fc7 (2021-03-25 20:38:05 -0400 -0400)
run: v2-wip/3f23ab9 (2021-03-25 22:35:06 -0400 -0400)
-----------------------------------------------------------
name old time/op new time/op delta
UnmarshalSimple/v2-8 700ns ± 3% 705ns ± 2% ~ (p=0.690 n=5+5)
UnmarshalSimple/v1-8 3.85µs ± 1% 4.02µs ± 4% +4.19% (p=0.032 n=5+5)
UnmarshalSimple/bs-8 2.34µs ± 2% 2.38µs ± 3% ~ (p=0.310 n=5+5)
ReferenceFile/v2-8 32.2µs ±13% 23.9µs ± 1% -25.79% (p=0.008 n=5+5)
ReferenceFile/v1-8 270µs ± 2% 264µs ± 2% ~ (p=0.095 n=5+5)
ReferenceFile/bs-8 291µs ± 0% 294µs ± 0% +0.88% (p=0.008 n=5+5)
name old alloc/op new alloc/op delta
ReferenceFile/v2-8 37.1kB ± 0% 6.7kB ± 0% -81.91% (p=0.008 n=5+5)
ReferenceFile/v1-8 131kB ± 0% 131kB ± 0% ~ (p=0.444 n=5+5)
ReferenceFile/bs-8 80.8kB ± 0% 80.8kB ± 0% ~ (p=0.571 n=5+5)
name old allocs/op new allocs/op delta
ReferenceFile/v2-8 152 ± 0% 148 ± 0% -2.63% (p=0.008 n=5+5)
ReferenceFile/v1-8 2.65k ± 0% 2.65k ± 0% ~ (all equal)
ReferenceFile/bs-8 1.73k ± 0% 1.73k ± 0% ~ (all equal)
~/s/g/p/g/benchmark$ go test -bench=.
goos: linux
goarch: amd64
pkg: github.com/pelletier/go-toml/v2/benchmark
cpu: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
BenchmarkUnmarshalSimple/v2-8 1692444 710.7 ns/op
BenchmarkUnmarshalSimple/v1-8 307609 3862 ns/op
BenchmarkUnmarshalSimple/bs-8 520429 2285 ns/op
BenchmarkReferenceFile/v2-8 50395 24006 ns/op 6704 B/op 148 allocs/op
BenchmarkReferenceFile/v1-8 4144 264655 ns/op 130567 B/op 2649 allocs/op
BenchmarkReferenceFile/bs-8 3969 293635 ns/op 80784 B/op 1729 allocs/op
PASS
ok github.com/pelletier/go-toml/v2/benchmark 8.143s
```
|
2021-03-25 22:37:16 -04:00 |
|
Thomas Pelletier
|
1bae751a45
|
Linear array storage for AST
|
2021-03-25 19:56:02 -04:00 |
|
Thomas Pelletier
|
43fc2fa552
|
Factor pointer handling
|
2021-03-24 21:05:44 -04:00 |
|
Thomas Pelletier
|
dd5837651d
|
Support TextUnmarshaler
|
2021-03-24 21:02:02 -04:00 |
|
Thomas Pelletier
|
a0d031abec
|
Arrays support
|
2021-03-24 20:21:55 -04:00 |
|
Thomas Pelletier
|
a3b7e1e353
|
Fix table array into pointer to slice
|
2021-03-23 21:14:54 -04:00 |
|
Thomas Pelletier
|
fcc91f2618
|
Progress on date/times
|
2021-03-22 09:59:15 -04:00 |
|
Thomas Pelletier
|
8b34e54764
|
Improve DOT representation for AST
|
2021-03-18 22:10:31 -04:00 |
|
Thomas Pelletier
|
93a7b0d77d
|
Skip AST branches that don't exist in the target
|
2021-03-18 20:30:51 -04:00 |
|
Thomas Pelletier
|
548b128e67
|
Fix multiple sub-table in array table
|
2021-03-18 19:42:48 -04:00 |
|
Thomas Pelletier
|
cb678e6221
|
Passing unmarshal of array table into interfaces
|
2021-03-18 08:47:50 -04:00 |
|
Thomas Pelletier
|
939f889666
|
wip: figuring out unmarshaling to interfaces
|
2021-03-17 09:57:50 -04:00 |
|
Thomas Pelletier
|
f9f9ccb777
|
Basic array table implementation
|
2021-03-16 10:24:19 -04:00 |
|
Thomas Pelletier
|
37d06dabcf
|
Unmarshal into maps
|
2021-03-15 09:49:10 -04:00 |
|
Thomas Pelletier
|
00b2f776a9
|
Replace branch with AST version
|
2021-03-15 08:46:35 -04:00 |
|