Skip to content

JSON BenchMarks

Richard Hightower edited this page Feb 19, 2023 · 3 revisions

JParse is fast

image image image image image

Although JParse might be fast. Jackson, for example, is well-known and has 15 to 20 years of maturity (bug fixes). Unless you are looking for a small JSON parser, you are always better off using Jackson. JParse is excellent for folks who want to either embed a parser (copy and paste JParse into their project giving credit to JParse, of course) or want a lightweight JSON parser that works well for things like AWS Lambda or a Docker image. If you want powerful JSON parsing with a small footprint, JParse is your pick.

Parsing normal JSON

Benchmark                                  Mode  Cnt       Score   Error  Units
BenchMark.simpleDeserializeJParseWebXML    thrpt    2  237334.575          ops/s
BenchMark.simpleDeserializeJacksonWebXML   thrpt    2  114135.958          ops/s
Benchmark                            Mode  Cnt        Score   Error  Units
BenchMark.simpleDeserializeJParseGlossary    thrpt    2  1059241.326          ops/s
BenchMark.simpleDeserializeJacksonGlossary   thrpt    2   466824.567          ops/s

Benchmark                                      Mode  Cnt        Score   Error  Units
BenchMark.readGlossaryJParse                  thrpt    2  1034323.573          ops/s
BenchMark.readGlossaryNoggit                  thrpt    2   830511.356          ops/s
BenchMark.readGlossaryNoggitObjectBuilder     thrpt    2   541948.355          ops/s
BenchMark.readGlossaryJackson                 thrpt    2   468925.690          ops/s

BenchMark.readWebJSONJParse                   thrpt    2   220019.324          ops/s
BenchMark.readWebJSONJackson                  thrpt    2   104249.861          ops/s

Parsing large primitive arrays and basic values


Benchmark                             Mode  Cnt        Score   Error  Units
BenchMark.jParseBigDecimalArrayFast  thrpt    2  1201663.430          ops/s
BenchMark.jacksonBigDecimalArray     thrpt    2   722409.093          ops/s


BenchMark.jParseDoubleArrayFast      thrpt    2   890538.018          ops/s
BenchMark.jacksonDoubleArray         thrpt    2   627404.869          ops/s


BenchMark.jParseFloatArrayFast       thrpt    2   894741.821          ops/s
BenchMark.jacksonFloatArray          thrpt    2   484765.612          ops/s



Benchmark                       Mode  Cnt        Score   Error  Units
BenchMark.jParseBigIntArray    thrpt    2   889298.905          ops/s
BenchMark.jacksonBigIntArray   thrpt    2   888873.432          ops/s

BenchMark.jParseIntArray       thrpt    2  1541039.040          ops/s
BenchMark.jacksonIntArray      thrpt    2  1124429.948          ops/s

BenchMark.jParseLongArray      thrpt    2  1418787.047          ops/s
BenchMark.jacksonLongArray     thrpt    2  1163603.399          ops/s

Serialize and Deserialize


Benchmark                                         Mode  Cnt       Score   Error  Units
BenchMark.deserializeIntoMapJParseAndSerialize   thrpt    2  867284.089          ops/s
BenchMark.deserializeIntoMapJacksonAndSerialize  thrpt    2  264564.015          ops/s

Benchmark                                                    Mode  Cnt       Score   Error  Units
BenchMark.deserializeIntoMapJParseAndGetPathThenSerialize   thrpt    2  788400.189          ops/s
BenchMark.deserializeIntoMapJacksonAndGetPathThenSerialize  thrpt    2  285313.787          ops/s

Working with Paths


Benchmark                                        Mode  Cnt       Score   Error  Units
BenchMark.simpleDeserializeJParseThenPathGrab   thrpt    2  445645.130          ops/s
BenchMark.simpleDeserializeJacksonThenPathGrab  thrpt    2  293524.053          ops/s



Benchmark                                       Mode  Cnt       Score   Error  Units
BenchMark.simpleDeserializeJParseThenPathGrab  thrpt    2  467119.563          ops/s
BenchMark.simpleDeserializeJaywayThenPathGrab  thrpt    2  382242.810          ops/s


Benchmark                                             Mode  Cnt       Score   Error  Units
BenchMark.simpleDeserializeJParseThenPathGrabWEBXML  thrpt    2  142538.504          ops/s
BenchMark.simpleDeserializeJaywayThenPathGrabWEBXML  thrpt    2  113641.983          ops/s