Skip to content
Takeru Sato edited this page Jun 17, 2018 · 17 revisions

Run benchmarks

jmh:run -rf json

Result

[info] Benchmark                           (depth)  (length)   Mode  Cnt       Score       Error  Units[0m
[info] Case1.decodeArgonaut                     10        10  thrpt   20    6968.884 ±   573.087  ops/s[0m
[info] Case1.decodeCirce                        10        10  thrpt   20   19925.881 ±  1502.608  ops/s[0m
[info] Case1.decodeCirceAuto                    10        10  thrpt   20   13897.213 ±   808.833  ops/s[0m
[info] Case1.decodeCirceAutoFromBytes           10        10  thrpt   20    7249.919 ±   568.478  ops/s[0m
[info] Case1.decodeJackson                      10        10  thrpt   20   33496.360 ±   738.378  ops/s[0m
[info] Case1.decodeJsoniterScalaFromBytes       10        10  thrpt   20  111379.593 ±  2438.619  ops/s[0m
[info] Case1.decodeSprayJson                    10        10  thrpt   20   32020.897 ±  2388.725  ops/s[0m
[info] Case1.decodeUPickle                      10        10  thrpt   20   19604.528 ±   311.001  ops/s[0m
[info] Case1.decodeUPickleAst                   10        10  thrpt   20   15330.478 ±  1050.301  ops/s[0m
[info] Case1.encodeArgonaut                     10        10  thrpt   20    9304.583 ±   397.284  ops/s[0m
[info] Case1.encodeCirce                        10        10  thrpt   20   18962.155 ±  1762.758  ops/s[0m
[info] Case1.encodeCirceAuto                    10        10  thrpt   20   10730.904 ±   739.270  ops/s[0m
[info] Case1.encodeCirceAutoToBytes             10        10  thrpt   20    8462.770 ±   505.101  ops/s[0m
[info] Case1.encodeJackson                      10        10  thrpt   20  101600.617 ±  2524.623  ops/s[0m
[info] Case1.encodeJson4s                       10        10  thrpt   20    7783.944 ±   154.570  ops/s[0m
[info] Case1.encodeJson4sJackson                10        10  thrpt   20    5967.562 ±   153.802  ops/s[0m
[info] Case1.encodeJsoniterScalaToBytes         10        10  thrpt   20  384715.509 ± 15419.232  ops/s[0m
[info] Case1.encodeSprayJson                    10        10  thrpt   20   19541.478 ±   801.425  ops/s[0m
[info] Case1.encodeUPickle                      10        10  thrpt   20   18450.764 ±   735.804  ops/s[0m
[info] Case1.encodeUPickleAst                   10        10  thrpt   20   12953.390 ±   376.147  ops/s[0m
[info] Case2.decodeArgonaut                    100        10  thrpt   20     601.419 ±    53.203  ops/s[0m
[info] Case2.decodeCirce                       100        10  thrpt   20    1914.894 ±   103.947  ops/s[0m
[info] Case2.decodeCirceAuto                   100        10  thrpt   20    1434.354 ±    22.774  ops/s[0m
[info] Case2.decodeCirceAutoFromBytes          100        10  thrpt   20     553.161 ±    51.711  ops/s[0m
[info] Case2.decodeJackson                     100        10  thrpt   20    3577.741 ±    53.413  ops/s[0m
[info] Case2.decodeJsoniterScalaFromBytes      100        10  thrpt   20   12461.435 ±   250.218  ops/s[0m
[info] Case2.decodeSprayJson                   100        10  thrpt   20    3025.243 ±   152.833  ops/s[0m
[info] Case2.decodeUPickle                     100        10  thrpt   20    2134.509 ±    43.801  ops/s[0m
[info] Case2.decodeUPickleAst                  100        10  thrpt   20    1801.916 ±    87.196  ops/s[0m
[info] Case2.encodeArgonaut                    100        10  thrpt   20     941.516 ±    77.621  ops/s[0m
[info] Case2.encodeCirce                       100        10  thrpt   20    2206.618 ±   160.903  ops/s[0m
[info] Case2.encodeCirceAuto                   100        10  thrpt   20    1239.450 ±    96.550  ops/s[0m
[info] Case2.encodeCirceAutoToBytes            100        10  thrpt   20     569.024 ±    31.648  ops/s[0m
[info] Case2.encodeJackson                     100        10  thrpt   20   10120.901 ±   352.067  ops/s[0m
[info] Case2.encodeJson4s                      100        10  thrpt   20     778.224 ±    29.130  ops/s[0m
[info] Case2.encodeJson4sJackson               100        10  thrpt   20     581.531 ±    30.788  ops/s[0m
[info] Case2.encodeJsoniterScalaToBytes        100        10  thrpt   20   40275.880 ±  1120.614  ops/s[0m
[info] Case2.encodeSprayJson                   100        10  thrpt   20    2061.568 ±   110.914  ops/s[0m
[info] Case2.encodeUPickle                     100        10  thrpt   20    1986.908 ±    41.180  ops/s[0m
[info] Case2.encodeUPickleAst                  100        10  thrpt   20    1310.081 ±    54.959  ops/s[0m
[info] Case3.decodeArgonaut                     10       100  thrpt   20     662.229 ±    70.064  ops/s[0m
[info] Case3.decodeCirce                        10       100  thrpt   20    2038.807 ±   181.125  ops/s[0m
[info] Case3.decodeCirceAuto                    10       100  thrpt   20    1409.452 ±   119.286  ops/s[0m
[info] Case3.decodeCirceAutoFromBytes           10       100  thrpt   20     611.666 ±    19.417  ops/s[0m
[info] Case3.decodeJackson                      10       100  thrpt   20    3430.249 ±    57.804  ops/s[0m
[info] Case3.decodeJsoniterScalaFromBytes       10       100  thrpt   20   13358.148 ±   395.288  ops/s[0m
[info] Case3.decodeSprayJson                    10       100  thrpt   20    3185.494 ±   224.878  ops/s[0m
[info] Case3.decodeUPickle                      10       100  thrpt   20    1989.475 ±    88.212  ops/s[0m
[info] Case3.decodeUPickleAst                   10       100  thrpt   20    1726.156 ±    62.878  ops/s[0m
[info] Case3.encodeArgonaut                     10       100  thrpt   20     922.475 ±    35.955  ops/s[0m
[info] Case3.encodeCirce                        10       100  thrpt   20    1877.517 ±   162.428  ops/s[0m
[info] Case3.encodeCirceAuto                    10       100  thrpt   20    1234.099 ±   160.600  ops/s[0m
[info] Case3.encodeCirceAutoToBytes             10       100  thrpt   20     843.039 ±    46.386  ops/s[0m
[info] Case3.encodeJackson                      10       100  thrpt   20   10141.317 ±   392.912  ops/s[0m
[info] Case3.encodeJson4s                       10       100  thrpt   20     774.071 ±    28.561  ops/s[0m
[info] Case3.encodeJson4sJackson                10       100  thrpt   20     605.143 ±    16.044  ops/s[0m
[info] Case3.encodeJsoniterScalaToBytes         10       100  thrpt   20   42246.804 ±  1160.322  ops/s[0m
[info] Case3.encodeSprayJson                    10       100  thrpt   20    1992.713 ±    79.994  ops/s[0m
[info] Case3.encodeUPickle                      10       100  thrpt   20    1912.153 ±    42.209  ops/s[0m
[info] Case3.encodeUPickleAst                   10       100  thrpt   20    1363.143 ±    72.945  ops/s[0m
[info] Case4.decodeArgonaut                    100       100  thrpt   20      60.460 ±     5.923  ops/s[0m
[info] Case4.decodeCirce                       100       100  thrpt   20     171.614 ±     8.145  ops/s[0m
[info] Case4.decodeCirceAuto                   100       100  thrpt   20     141.338 ±     9.101  ops/s[0m
[info] Case4.decodeCirceAutoFromBytes          100       100  thrpt   20      47.580 ±     2.723  ops/s[0m
[info] Case4.decodeJackson                     100       100  thrpt   20     347.220 ±     4.314  ops/s[0m
[info] Case4.decodeJsoniterScalaFromBytes      100       100  thrpt   20    1280.350 ±    20.986  ops/s[0m
[info] Case4.decodeSprayJson                   100       100  thrpt   20     279.317 ±     2.128  ops/s[0m
[info] Case4.decodeUPickle                     100       100  thrpt   20     209.254 ±     5.147  ops/s[0m
[info] Case4.decodeUPickleAst                  100       100  thrpt   20     141.823 ±    10.299  ops/s[0m
[info] Case4.encodeArgonaut                    100       100  thrpt   20      72.077 ±     3.949  ops/s[0m
[info] Case4.encodeCirce                       100       100  thrpt   20     171.541 ±    18.259  ops/s[0m
[info] Case4.encodeCirceAuto                   100       100  thrpt   20     100.611 ±     9.413  ops/s[0m
[info] Case4.encodeCirceAutoToBytes            100       100  thrpt   20      51.512 ±     2.787  ops/s[0m
[info] Case4.encodeJackson                     100       100  thrpt   20    1052.470 ±    32.409  ops/s[0m
[info] Case4.encodeJson4s                      100       100  thrpt   20      77.101 ±     2.807  ops/s[0m
[info] Case4.encodeJson4sJackson               100       100  thrpt   20      46.382 ±     1.857  ops/s[0m
[info] Case4.encodeJsoniterScalaToBytes        100       100  thrpt   20    3859.755 ±    78.567  ops/s[0m
[info] Case4.encodeSprayJson                   100       100  thrpt   20     178.294 ±     5.683  ops/s[0m
[info] Case4.encodeUPickle                     100       100  thrpt   20     199.176 ±     4.650  ops/s[0m
[info] Case4.encodeUPickleAst                  100       100  thrpt   20     119.009 ±     2.903  ops/s[0m
[info] Case5.decodeArgonaut                   1000         1  thrpt   20     582.342 ±    54.984  ops/s[0m
[info] Case5.decodeCirce                      1000         1  thrpt   20    1919.351 ±   124.786  ops/s[0m
[info] Case5.decodeCirceAuto                  1000         1  thrpt   20    1550.215 ±   134.583  ops/s[0m
[info] Case5.decodeCirceAutoFromBytes         1000         1  thrpt   20     211.280 ±    12.483  ops/s[0m
[info] Case5.decodeJackson                    1000         1  thrpt   20    3454.962 ±    65.026  ops/s[0m
[info] Case5.decodeJsoniterScalaFromBytes     1000         1  thrpt   20   12556.013 ±   334.046  ops/s[0m
[info] Case5.decodeSprayJson                  1000         1  thrpt   20    2624.988 ±   135.981  ops/s[0m
[info] Case5.decodeUPickle                    1000         1  thrpt   20    2056.244 ±   106.781  ops/s[0m
[info] Case5.decodeUPickleAst                 1000         1  thrpt   20    1651.794 ±   103.850  ops/s[0m
[info] Case5.encodeArgonaut                   1000         1  thrpt   20     940.871 ±    82.397  ops/s[0m
[info] Case5.encodeCirce                      1000         1  thrpt   20    2046.501 ±   192.990  ops/s[0m
[info] Case5.encodeCirceAuto                  1000         1  thrpt   20    1371.608 ±    46.173  ops/s[0m
[info] Case5.encodeCirceAutoToBytes           1000         1  thrpt   20     121.203 ±     7.408  ops/s[0m
[info] Case5.encodeJackson                    1000         1  thrpt   20    9262.870 ±   305.067  ops/s[0m
[info] Case5.encodeJson4s                     1000         1  thrpt   20     758.489 ±    12.270  ops/s[0m
[info] Case5.encodeJson4sJackson              1000         1  thrpt   20     566.815 ±    28.894  ops/s[0m
[info] Case5.encodeJsoniterScalaToBytes       1000         1  thrpt   20   36047.485 ±   649.034  ops/s[0m
[info] Case5.encodeSprayJson                  1000         1  thrpt   20    1859.460 ±    58.584  ops/s[0m
[info] Case5.encodeUPickle                    1000         1  thrpt   20    1967.918 ±    43.272  ops/s[0m
[info] Case5.encodeUPickleAst                 1000         1  thrpt   20    1299.072 ±    65.179  ops/s[0m

Note:

  • Visualized result
  • The reason why -Xss is added to the JVM option is that StackOverflowError will occurs in following benchmarks:
    • spray-json
    • argonaut
    • uPickle
    • json4s
Clone this wiki locally