Skip to content

Tags: kiwicom/simdjson-go

Tags

v0.4.2

Toggle v0.4.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix incorrect reallocation (minio#58)

Regression from minio#55

v0.4.1

Toggle v0.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix parsing deadlock (minio#57)

Parser will deadlock if hitting `if len(pj.containingScopeOffset) != 0` before returning, since 
the stream is done, but we return false.

Return status and done status separately.

v0.4.0

Toggle v0.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Simplify usage (minio#54)

* Simplify usage
* Add root foreach callback.
* Simplify path specification for FindElement
* Add buger/jsonparser benchmark. Crazy fast.

v0.3.0

Toggle v0.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Add Object Path selector (minio#48)

### Search by path

It is possible to search by path to find elements by traversing objects.

For example:

```
	// Find element in path.
	elem, err := i.FindElement("Image/URL", nil)
```

Will locate the field inside a json object with the following structure:

```
{
    "Image": {
        "URL": "value"
    }
}
```

v0.2.2

Toggle v0.2.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update README.md

v0.2.1

Toggle v0.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Indicate float conversion due to overflows (minio#31)

As flag to tape that indicates that an integer was converted to float due to int64/uint64 limits.

Fixes minio#25

v0.2.0

Toggle v0.2.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Number parsing fix and optimization (minio#27)

Remove `GOLANG_NUMBER_PARSING` and remove the imprecise parsing and fix up the actual number parsing in Go.

By default, everything that looked like a number would be accepted and a lot of errors were not caught.

Uints will now actually be used if numbers are above maximum int64 and below uint64 with no float point markers.

Even with all the additional checks we are still faster:

```
λ benchcmp before.txt after.txt
benchmark                               old ns/op     new ns/op     delta
BenchmarkParseNumber/Pos/63bit-32       91.9          75.9          -17.41%
BenchmarkParseNumber/Neg/63bit-32       106           77.2          -27.17%
BenchmarkParseNumberFloat-32            190           72.5          -61.84%
BenchmarkParseNumberFloatExp-32         212           98.6          -53.49%
BenchmarkParseNumberBig-32              401           175           -56.36%
BenchmarkParseNumberRandomBits-32       420           230           -45.24%
BenchmarkParseNumberRandomFloats-32     305           172           -43.61%
```
... and full benchmarks:
```
benchmark                                             old ns/op      new ns/op      delta
BenchmarkApache_builds-32                             137091         139556         +1.80%
BenchmarkCanada-32                                    30705862       19000003       -38.12%
BenchmarkCitm_catalog-32                              1921474        2093471        +8.95%
BenchmarkGithub_events-32                             77611          77873          +0.34%
BenchmarkGsoc_2018-32                                 1220291        1215097        -0.43%
BenchmarkInstruments-32                               366747         374568         +2.13%
BenchmarkMarine_ik-32                                 27410259       18343775       -33.08%
BenchmarkMesh-32                                      8200018        5896043        -28.10%
BenchmarkMesh_pretty-32                               9793413        6947830        -29.06%
BenchmarkNumbers-32                                   1967319        1213924        -38.30%
BenchmarkRandom-32                                    1072071        1042956        -2.72%
BenchmarkTwitter-32                                   645530         645529         -0.00%
BenchmarkTwitterescaped-32                            1014456        1022548        +0.80%
```

v0.1.5

Toggle v0.1.5's commit message
Add clarification for ALWAYS_COPY_STRINGS in relation to streaming or…

… non-streaming use cases

v0.1.4

Toggle v0.1.4's commit message
Move structurals to separate K register

v0.1.3

Toggle v0.1.3's commit message
Stubs for s390x as well