diff --git a/README.md b/README.md index e32f62e..af48f19 100644 --- a/README.md +++ b/README.md @@ -41,19 +41,18 @@ Clone the project and start `sbt`. ``` Benchmark Mode Cnt Score Error Units -BigJsonBenchmarkDeserialize.runJson4sNative avgt 10 1,262 ± 0,011 ms/op -BigJsonBenchmarkDeserialize.runJson4sJackson avgt 10 1,101 ± 0,013 ms/op -BigJsonBenchmarkDeserialize.runArgonautJson avgt 10 0,783 ± 0,018 ms/op -BigJsonBenchmarkDeserialize.runPlayJson avgt 10 0,608 ± 0,011 ms/op -BigJsonBenchmarkDeserialize.runSprayJson avgt 10 0,399 ± 0,011 ms/op -BigJsonBenchmarkDeserialize.runRefuelParsing avgt 10 0,383 ± 0,007 ms/op -BigJsonBenchmarkDeserialize.runCirce avgt 10 0,373 ± 0,008 ms/op -BigJsonBenchmarkDeserialize.runUPickle avgt 10 0,335 ± 0,003 ms/op -BigJsonBenchmarkDeserialize.runSphereJson avgt 10 0,316 ± 0,008 ms/op -BigJsonBenchmarkDeserialize.runWeePickle avgt 10 0,218 ± 0,001 ms/op -BigJsonBenchmarkDeserialize.runJacksonParsing avgt 10 0,186 ± 0,001 ms/op -BigJsonBenchmarkDeserialize.runBorer avgt 10 0,156 ± 0,003 ms/op -BigJsonBenchmarkDeserialize.runJsoniter avgt 10 0,078 ± 0,001 ms/op +BigJsonBenchmarkDeserialize.runJson4sJackson avgt 10 0.810 ± 0.010 ms/op +BigJsonBenchmarkDeserialize.runArgonautJson avgt 10 0.523 ± 0.007 ms/op +BigJsonBenchmarkDeserialize.runPlayJson avgt 10 0.456 ± 0.067 ms/op +BigJsonBenchmarkDeserialize.runCirce avgt 10 0.256 ± 0.029 ms/op +BigJsonBenchmarkDeserialize.runSprayJson avgt 10 0.237 ± 0.021 ms/op +BigJsonBenchmarkDeserialize.runRefuelParsing avgt 10 0.219 ± 0.002 ms/op +BigJsonBenchmarkDeserialize.runSphereJson avgt 10 0.167 ± 0.001 ms/op +BigJsonBenchmarkDeserialize.runWeePickle avgt 10 0.151 ± 0.001 ms/op +BigJsonBenchmarkDeserialize.runUPickle avgt 10 0.141 ± 0.001 ms/op +BigJsonBenchmarkDeserialize.runJacksonParsing avgt 10 0.138 ± 0.001 ms/op +BigJsonBenchmarkDeserialize.runBorer avgt 10 0.105 ± 0.001 ms/op +BigJsonBenchmarkDeserialize.runJsoniter avgt 10 0.060 ± 0.007 ms/op ``` _ordered (lower is better)_ @@ -61,19 +60,19 @@ _ordered (lower is better)_ ``` Benchmark Mode Cnt Score Error Units -BigJsonBenchmarkSerialize.runJson4sNative avgt 10 1,758 ± 0,009 ms/op -BigJsonBenchmarkSerialize.runJson4sJackson avgt 10 1,351 ± 0,015 ms/op -BigJsonBenchmarkSerialize.runPlayJson avgt 10 0,739 ± 0,004 ms/op -BigJsonBenchmarkSerialize.runRefuelParsing avgt 10 0,725 ± 0,039 ms/op -BigJsonBenchmarkSerialize.runUPickle avgt 10 0,671 ± 0,002 ms/op -BigJsonBenchmarkSerialize.runArgonautJson avgt 10 0,436 ± 0,007 ms/op -BigJsonBenchmarkSerialize.runCirce avgt 10 0,369 ± 0,002 ms/op -BigJsonBenchmarkSerialize.runSprayJson avgt 10 0,312 ± 0,001 ms/op -BigJsonBenchmarkSerialize.runSphereJson avgt 10 0,227 ± 0,001 ms/op -BigJsonBenchmarkSerialize.runBorer avgt 10 0,156 ± 0,001 ms/op -BigJsonBenchmarkSerialize.runWeePickle avgt 10 0,130 ± 0,002 ms/op -BigJsonBenchmarkSerialize.runJacksonParsing avgt 10 0,091 ± 0,001 ms/op -BigJsonBenchmarkSerialize.runJsoniter avgt 10 0,078 ± 0,001 ms/op +BigJsonBenchmarkSerialize.runJson4sJackson avgt 10 0.847 ± 0.007 ms/op +BigJsonBenchmarkSerialize.runPlayJson avgt 10 0.531 ± 0.003 ms/op +BigJsonBenchmarkSerialize.runArgonautJson avgt 10 0.335 ± 0.030 ms/op +BigJsonBenchmarkSerialize.runRefuelParsing avgt 10 0.271 ± 0.033 ms/op +BigJsonBenchmarkSerialize.runCirce avgt 10 0.237 ± 0.002 ms/op +BigJsonBenchmarkSerialize.runSprayJson avgt 10 0.215 ± 0.001 ms/op +BigJsonBenchmarkSerialize.runBorer avgt 10 0.103 ± 0.001 ms/op +BigJsonBenchmarkSerialize.runUPickle avgt 10 0.098 ± 0.008 ms/op +BigJsonBenchmarkSerialize.runWeePickle avgt 10 0.098 ± 0.001 ms/op +BigJsonBenchmarkSerialize.runSphereJson avgt 10 0.091 ± 0.001 ms/op +BigJsonBenchmarkSerialize.runJacksonParsing avgt 10 0.063 ± 0.004 ms/op +BigJsonBenchmarkSerialize.runJsoniter avgt 10 0.042 ± 0.001 ms/op + ``` _ordered (lower is better)_ @@ -87,117 +86,106 @@ _ordered (lower is better)_ ``` Benchmark Mode Cnt Score Error Units +BigJsonBenchmarkDeserialize.runArgonautJson:·gc.alloc.rate.norm avgt 10 2578769.986 ± 53.779 B/op +BigJsonBenchmarkDeserialize.runArgonautJson:·gc.count avgt 10 96.000 counts +BigJsonBenchmarkDeserialize.runArgonautJson:·gc.time avgt 10 63.000 ms -BigJsonBenchmarkDeserialize.runJson4sNative:·gc.alloc.rate.norm avgt 10 2973937,828 ± 6,240 B/op -BigJsonBenchmarkDeserialize.runJson4sNative:·gc.count avgt 10 59,000 counts -BigJsonBenchmarkDeserialize.runJson4sNative:·gc.time avgt 10 43,000 ms - -BigJsonBenchmarkDeserialize.runArgonautJson:·gc.alloc.rate.norm avgt 10 2690641,180 ± 4,096 B/op -BigJsonBenchmarkDeserialize.runArgonautJson:·gc.count avgt 10 86,000 counts -BigJsonBenchmarkDeserialize.runArgonautJson:·gc.time avgt 10 50,000 ms +BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.alloc.rate.norm avgt 10 2065771.154 ± 15.221 B/op +BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.count avgt 10 62.000 counts +BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.time avgt 10 47.000 ms -BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.alloc.rate.norm avgt 10 2129657,616 ± 5,438 B/op -BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.count avgt 10 49,000 counts -BigJsonBenchmarkDeserialize.runJson4sJackson:·gc.time avgt 10 34,000 ms +BigJsonBenchmarkDeserialize.runPlayJson:·gc.alloc.rate.norm avgt 10 1979111.057 ± 8.216 B/op +BigJsonBenchmarkDeserialize.runPlayJson:·gc.count avgt 10 107.000 counts +BigJsonBenchmarkDeserialize.runPlayJson:·gc.time avgt 10 53.000 ms -BigJsonBenchmarkDeserialize.runPlayJson:·gc.alloc.rate.norm avgt 10 1914960,898 ± 3,088 B/op -BigJsonBenchmarkDeserialize.runPlayJson:·gc.count avgt 10 78,000 counts -BigJsonBenchmarkDeserialize.runPlayJson:·gc.time avgt 10 39,000 ms +BigJsonBenchmarkDeserialize.runCirce:·gc.alloc.rate.norm avgt 10 867614.524 ± 9.233 B/op +BigJsonBenchmarkDeserialize.runCirce:·gc.count avgt 10 86.000 counts +BigJsonBenchmarkDeserialize.runCirce:·gc.time avgt 10 47.000 ms -BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.alloc.rate.norm avgt 10 1064552,577 ± 1,988 B/op -BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.count avgt 10 69,000 counts -BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.time avgt 10 29,000 ms +BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.alloc.rate.norm avgt 10 814906.798 ± 3.588 B/op +BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.count avgt 10 92.000 counts +BigJsonBenchmarkDeserialize.runRefuelParsing:·gc.time avgt 10 44.000 ms -BigJsonBenchmarkDeserialize.runCirce:·gc.alloc.rate.norm avgt 10 963560,566 ± 1,979 B/op -BigJsonBenchmarkDeserialize.runCirce:·gc.count avgt 10 64,000 counts -BigJsonBenchmarkDeserialize.runCirce:·gc.time avgt 10 31,000 ms +BigJsonBenchmarkDeserialize.runSprayJson:·gc.alloc.rate.norm avgt 10 511955.300 ± 5.591 B/op +BigJsonBenchmarkDeserialize.runSprayJson:·gc.count avgt 10 51.000 counts +BigJsonBenchmarkDeserialize.runSprayJson:·gc.time avgt 10 27.000 ms -BigJsonBenchmarkDeserialize.runSphereJson:·gc.alloc.rate.norm avgt 10 651872,467 ± 1,615 B/op -BigJsonBenchmarkDeserialize.runSphereJson:·gc.count avgt 10 52,000 counts -BigJsonBenchmarkDeserialize.runSphereJson:·gc.time avgt 10 28,000 ms +BigJsonBenchmarkDeserialize.runUPickle:·gc.alloc.rate.norm avgt 10 413386.161 ± 2.526 B/op +BigJsonBenchmarkDeserialize.runUPickle:·gc.count avgt 10 70.000 counts +BigJsonBenchmarkDeserialize.runUPickle:·gc.time avgt 10 31.000 ms -BigJsonBenchmarkDeserialize.runSprayJson:·gc.alloc.rate.norm avgt 10 511920,611 ± 2,148 B/op -BigJsonBenchmarkDeserialize.runSprayJson:·gc.count avgt 10 32,000 counts -BigJsonBenchmarkDeserialize.runSprayJson:·gc.time avgt 10 14,000 ms +BigJsonBenchmarkDeserialize.runSphereJson:·gc.alloc.rate.norm avgt 10 371895.585 ± 3.512 B/op +BigJsonBenchmarkDeserialize.runSphereJson:·gc.count avgt 10 54.000 counts +BigJsonBenchmarkDeserialize.runSphereJson:·gc.time avgt 10 34.000 ms -BigJsonBenchmarkDeserialize.runUPickle:·gc.alloc.rate.norm avgt 10 475776,496 ± 1,710 B/op -BigJsonBenchmarkDeserialize.runUPickle:·gc.count avgt 10 36,000 counts -BigJsonBenchmarkDeserialize.runUPickle:·gc.time avgt 10 13,000 ms +BigJsonBenchmarkDeserialize.runWeePickle:·gc.alloc.rate.norm avgt 10 139977.664 ± 3.377 B/op +BigJsonBenchmarkDeserialize.runWeePickle:·gc.count avgt 10 23.000 counts +BigJsonBenchmarkDeserialize.runWeePickle:·gc.time avgt 10 10.000 ms -BigJsonBenchmarkDeserialize.runWeePickle:·gc.alloc.rate.norm avgt 10 140032,336 ± 1,109 B/op -BigJsonBenchmarkDeserialize.runWeePickle:·gc.count avgt 10 16,000 counts -BigJsonBenchmarkDeserialize.runWeePickle:·gc.time avgt 10 6,000 ms +BigJsonBenchmarkDeserialize.runJsoniter:·gc.alloc.rate.norm avgt 10 129080.363 ± 1.384 B/op +BigJsonBenchmarkDeserialize.runJsoniter:·gc.count avgt 10 53.000 counts +BigJsonBenchmarkDeserialize.runJsoniter:·gc.time avgt 10 23.000 ms -BigJsonBenchmarkDeserialize.runJsoniter:·gc.alloc.rate.norm avgt 10 129072,116 ± 0,399 B/op -BigJsonBenchmarkDeserialize.runJsoniter:·gc.count avgt 10 41,000 counts -BigJsonBenchmarkDeserialize.runJsoniter:·gc.time avgt 10 16,000 ms +BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.alloc.rate.norm avgt 10 123744.709 ± 2.402 B/op +BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.count avgt 10 23.000 counts +BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.time avgt 10 11.000 ms -BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.alloc.rate.norm avgt 10 123736,278 ± 0,959 B/op -BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.count avgt 10 17,000 counts -BigJsonBenchmarkDeserialize.runJacksonParsing:·gc.time avgt 10 8,000 ms - -BigJsonBenchmarkDeserialize.runBorer:·gc.alloc.rate.norm avgt 10 121016,231 ± 0,798 B/op -BigJsonBenchmarkDeserialize.runBorer:·gc.count avgt 10 19,000 counts -BigJsonBenchmarkDeserialize.runBorer:·gc.time avgt 10 8,000 ms +BigJsonBenchmarkDeserialize.runBorer:·gc.alloc.rate.norm avgt 10 121024.180 ± 2.153 B/op +BigJsonBenchmarkDeserialize.runBorer:·gc.count avgt 10 28.000 counts +BigJsonBenchmarkDeserialize.runBorer:·gc.time avgt 10 12.000 ms ``` _ordered (lower is better)_ ## Serialization (case class -> String): ``` -Benchmark Mode Cnt Score Error Units - -BigJsonBenchmarkSerialize.runJson4sNative:·gc.alloc.rate.norm avgt 10 3819818,634 ± 8,981 B/op -BigJsonBenchmarkSerialize.runJson4sNative:·gc.count avgt 10 54,000 counts -BigJsonBenchmarkSerialize.runJson4sNative:·gc.time avgt 10 20,000 ms - -BigJsonBenchmarkSerialize.runJson4sJackson:·gc.alloc.rate.norm avgt 10 3209138,007 ± 6,898 B/op -BigJsonBenchmarkSerialize.runJson4sJackson:·gc.count avgt 10 59,000 counts -BigJsonBenchmarkSerialize.runJson4sJackson:·gc.time avgt 10 31,000 ms - -BigJsonBenchmarkSerialize.runPlayJson:·gc.alloc.rate.norm avgt 10 1984673,094 ± 3,772 B/op -BigJsonBenchmarkSerialize.runPlayJson:·gc.count avgt 10 67,000 counts -BigJsonBenchmarkSerialize.runPlayJson:·gc.time avgt 10 31,000 ms +Benchmark Mode Cnt Score Error Units +BigJsonBenchmarkSerialize.runJson4sJackson:·gc.alloc.rate.norm avgt 10 3153258.449 ± 14.184 B/op +BigJsonBenchmarkSerialize.runJson4sJackson:·gc.count avgt 10 91.000 counts +BigJsonBenchmarkSerialize.runJson4sJackson:·gc.time avgt 10 53.000 ms -BigJsonBenchmarkSerialize.runArgonautJson:·gc.alloc.rate.norm avgt 10 1111728,639 ± 2,191 B/op -BigJsonBenchmarkSerialize.runArgonautJson:·gc.count avgt 10 64,000 counts -BigJsonBenchmarkSerialize.runArgonautJson:·gc.time avgt 10 36,000 ms +BigJsonBenchmarkSerialize.runPlayJson:·gc.alloc.rate.norm avgt 10 1968760.583 ± 5.757 B/op +BigJsonBenchmarkSerialize.runPlayJson:·gc.count avgt 10 89.000 counts +BigJsonBenchmarkSerialize.runPlayJson:·gc.time avgt 10 50.000 ms -BigJsonBenchmarkSerialize.runCirce:·gc.alloc.rate.norm avgt 10 795352,545 ± 1,868 B/op -BigJsonBenchmarkSerialize.runCirce:·gc.count avgt 10 54,000 counts -BigJsonBenchmarkSerialize.runCirce:·gc.time avgt 10 22,000 ms +BigJsonBenchmarkSerialize.runArgonautJson:·gc.alloc.rate.norm avgt 10 1076875.212 ± 5.822 B/op +BigJsonBenchmarkSerialize.runArgonautJson:·gc.count avgt 10 88.000 counts +BigJsonBenchmarkSerialize.runArgonautJson:·gc.time avgt 10 61.000 ms -BigJsonBenchmarkSerialize.runRefuelParsing:·gc.alloc.rate.norm avgt 10 771001,073 ± 3,671 B/op -BigJsonBenchmarkSerialize.runRefuelParsing:·gc.count avgt 10 27,000 counts -BigJsonBenchmarkSerialize.runRefuelParsing:·gc.time avgt 10 15,000 ms +BigJsonBenchmarkSerialize.runRefuelParsing:·gc.alloc.rate.norm avgt 10 893111.629 ± 22.419 B/op +BigJsonBenchmarkSerialize.runRefuelParsing:·gc.count avgt 10 80.000 counts +BigJsonBenchmarkSerialize.runRefuelParsing:·gc.time avgt 10 44.000 ms -BigJsonBenchmarkSerialize.runSprayJson:·gc.alloc.rate.norm avgt 10 643465,089 ± 3,232 B/op -BigJsonBenchmarkSerialize.runSprayJson:·gc.count avgt 10 52,000 counts -BigJsonBenchmarkSerialize.runSprayJson:·gc.time avgt 10 21,000 ms +BigJsonBenchmarkSerialize.runCirce:·gc.alloc.rate.norm avgt 10 765495.574 ± 3.241 B/op +BigJsonBenchmarkSerialize.runCirce:·gc.count avgt 10 79.000 counts +BigJsonBenchmarkSerialize.runCirce:·gc.time avgt 10 39.000 ms -BigJsonBenchmarkSerialize.runSphereJson:·gc.alloc.rate.norm avgt 10 438536,379 ± 1,333 B/op -BigJsonBenchmarkSerialize.runSphereJson:·gc.count avgt 10 48,000 counts -BigJsonBenchmarkSerialize.runSphereJson:·gc.time avgt 10 26,000 ms +BigJsonBenchmarkSerialize.runSprayJson:·gc.alloc.rate.norm avgt 10 643952.034 ± 4.426 B/op +BigJsonBenchmarkSerialize.runSprayJson:·gc.count avgt 10 73.000 counts +BigJsonBenchmarkSerialize.runSprayJson:·gc.time avgt 10 36.000 ms -BigJsonBenchmarkSerialize.runUPickle:·gc.alloc.rate.norm avgt 10 158137,003 ± 3,448 B/op -BigJsonBenchmarkSerialize.runUPickle:·gc.count avgt 10 6,000 counts -BigJsonBenchmarkSerialize.runUPickle:·gc.time avgt 10 3,000 ms +BigJsonBenchmarkSerialize.runSphereJson:·gc.alloc.rate.norm avgt 10 222518.314 ± 1.144 B/op +BigJsonBenchmarkSerialize.runSphereJson:·gc.count avgt 10 60.000 counts +BigJsonBenchmarkSerialize.runSphereJson:·gc.time avgt 10 35.000 ms -BigJsonBenchmarkSerialize.runWeePickle:·gc.alloc.rate.norm avgt 10 106712,194 ± 0,663 B/op -BigJsonBenchmarkSerialize.runWeePickle:·gc.count avgt 10 20,000 counts -BigJsonBenchmarkSerialize.runWeePickle:·gc.time avgt 10 7,000 ms +BigJsonBenchmarkSerialize.runUPickle:·gc.alloc.rate.norm avgt 10 138161.427 ± 2.101 B/op +BigJsonBenchmarkSerialize.runUPickle:·gc.count avgt 10 35.000 counts +BigJsonBenchmarkSerialize.runUPickle:·gc.time avgt 10 14.000 ms -BigJsonBenchmarkSerialize.runJsoniter:·gc.alloc.rate.norm avgt 10 97576,116 ± 0,400 B/op -BigJsonBenchmarkSerialize.runJsoniter:·gc.count avgt 10 31,000 counts -BigJsonBenchmarkSerialize.runJsoniter:·gc.time avgt 10 11,000 ms +BigJsonBenchmarkSerialize.runWeePickle:·gc.alloc.rate.norm avgt 10 106655.199 ± 1.394 B/op +BigJsonBenchmarkSerialize.runWeePickle:·gc.count avgt 10 30.000 counts +BigJsonBenchmarkSerialize.runWeePickle:·gc.time avgt 10 13.000 ms -BigJsonBenchmarkSerialize.runBorer:·gc.alloc.rate.norm avgt 10 96800,232 ± 0,805 B/op -BigJsonBenchmarkSerialize.runBorer:·gc.count avgt 10 15,000 counts -BigJsonBenchmarkSerialize.runBorer:·gc.time avgt 10 7,000 ms +BigJsonBenchmarkSerialize.runJsoniter:·gc.alloc.rate.norm avgt 10 97582.325 ± 0.290 B/op +BigJsonBenchmarkSerialize.runJsoniter:·gc.count avgt 10 60.000 counts +BigJsonBenchmarkSerialize.runJsoniter:·gc.time avgt 10 26.000 ms -BigJsonBenchmarkSerialize.runJacksonParsing:·gc.alloc.rate.norm avgt 10 46408,133 ± 0,457 B/op -BigJsonBenchmarkSerialize.runJacksonParsing:·gc.count avgt 10 13,000 counts -BigJsonBenchmarkSerialize.runJacksonParsing:·gc.time avgt 10 8,000 ms +BigJsonBenchmarkSerialize.runBorer:·gc.alloc.rate.norm avgt 10 96806.575 ± 2.005 B/op +BigJsonBenchmarkSerialize.runBorer:·gc.count avgt 10 23.000 counts +BigJsonBenchmarkSerialize.runBorer:·gc.time avgt 10 10.000 ms +BigJsonBenchmarkSerialize.runJacksonParsing:·gc.alloc.rate.norm avgt 10 46387.296 ± 0.916 B/op +BigJsonBenchmarkSerialize.runJacksonParsing:·gc.count avgt 10 19.000 counts +BigJsonBenchmarkSerialize.runJacksonParsing:·gc.time avgt 10 9.000 ms ``` _ordered (lower is better)_ diff --git a/build.sbt b/build.sbt index c601496..eeb6f7c 100644 --- a/build.sbt +++ b/build.sbt @@ -4,7 +4,7 @@ version := "1.0" scalaVersion := "2.13.5" -val json4sVersion = "3.7.0-M11" +val json4sVersion = "4.0.3" val circeVersion = "0.13.0" resolvers ++= @@ -18,13 +18,13 @@ libraryDependencies ++= "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.12.3" :: "org.json4s" %% "json4s-native" % json4sVersion :: "org.json4s" %% "json4s-jackson" % json4sVersion :: - "io.sphere" %% "sphere-json" % "0.12.1" :: + "com.commercetools" %% "sphere-json" % "0.12.5" :: "com.typesafe.play" %% "play-json" % "2.9.2" :: "io.spray" %% "spray-json" % "1.3.6" :: "io.argonaut" %% "argonaut" % "6.3.3" :: "com.github.plokhotnyuk.jsoniter-scala" %% "jsoniter-scala-macros" % "2.8.1" :: "com.lihaoyi" %% "upickle" % "1.3.12" :: - "com.phylage" %% "refuel-json" % "1.4.11" :: + "com.phylage" %% "refuel-json" % "2.0.1" :: "io.bullet" %% "borer-derivation" % "1.7.2" :: "com.rallyhealth" %% "weepickle-v1" % "1.4.1" :: Nil diff --git a/src/main/scala/jsonperf/BigJsonTest.scala b/src/main/scala/jsonperf/BigJsonTest.scala index 497c4bf..71511f3 100644 --- a/src/main/scala/jsonperf/BigJsonTest.scala +++ b/src/main/scala/jsonperf/BigJsonTest.scala @@ -1,10 +1,9 @@ package jsonperf -import refuel.json.CodecDef case class Person(name: String, age: Int) case class BigJson(colleagues: Vector[Person]) -class BigJsonTest extends JsonTest[BigJson] with Serializable with CodecDef { +class BigJsonTest extends JsonTest[BigJson] with Serializable { val total = 1000 def colleagues = (for (i ← 1 to 1000) yield s"""{"name": "person-$i", "age": $i}""").mkString(", ") @@ -79,7 +78,10 @@ class BigJsonTest extends JsonTest[BigJson] with Serializable with CodecDef { MapBasedCodecs.deriveCodec[BigJson] } - override def refuelCodec = CaseClassCodec.from[BigJson] + override def refuelCodec = { + import refuel.json.JsonTransform._ + Derive[BigJson] + } override def checkResult(result: BigJson): Unit = { assert(result.colleagues.size == total, s"result.colleagues.size(${result.colleagues.size}) != $total") diff --git a/src/main/scala/jsonperf/JsonTest.scala b/src/main/scala/jsonperf/JsonTest.scala index 1930d55..60bc83d 100644 --- a/src/main/scala/jsonperf/JsonTest.scala +++ b/src/main/scala/jsonperf/JsonTest.scala @@ -7,7 +7,7 @@ abstract class JsonTest[A <: AnyRef](implicit ev: scala.reflect.Manifest[A]) ext def json: String def newA: A def clazz: Class[A] - def refuelCodec: refuel.json.Codec[A] + def refuelCodec: refuel.json.codecs.Codec[A] def sphereJSON: io.sphere.json.JSON[A] def playFormat: play.api.libs.json.Format[A] def sprayJsonFormat: spray.json.JsonFormat[A] @@ -25,9 +25,9 @@ abstract class JsonTest[A <: AnyRef](implicit ev: scala.reflect.Manifest[A]) ext type Parsing = JsonParsing[A] val refuelParsing = new Parsing with refuel.json.JsonTransform { - val codec: refuel.json.Codec[A] = refuelCodec - override def deserialize(json: String): A = json.as[A](codec).right.get - override def serialize(a: A): String = a.toJString(codec) + val codec: refuel.json.codecs.Codec[A] = refuelCodec + override def deserialize(json: String): A = json.readAs[A](codec).get + override def serialize(a: A): String = a.writeAsString(codec).get override def toString: String = "refuelParsing" } @@ -49,7 +49,7 @@ abstract class JsonTest[A <: AnyRef](implicit ev: scala.reflect.Manifest[A]) ext import org.json4s.native.Serialization implicit val formats = DefaultFormats override def deserialize(json: String): A = { - parse(json).extract[A] + org.json4s.native.JsonMethods.parse(json).extract[A] } override def serialize(a: A): String = { Serialization.write(a)