Fork me on GitHub

About

Benchmark for Clojure validation libraries.

Source code

Following libraries are benchmarked:

  • annotate ([com.roomkey/annotate "1.0.1"])
  • herbert ([com.velisco/herbert "0.7.0"])
  • schema ([prismatic/schema "1.1.3"])
  • spec ([org.clojure/clojure "1.9.0-alpha14"])
  • truss ([com.taoensso/truss "1.3.6"])

Relative performance table

Testannotateherbertschemaspectruss
[:associative-collections :invalid]50.42820.59813.6463.2051.000
[:associative-collections :valid]36.21827.5046.5824.1451.000
[:atomic-values :invalid]11.3067.7811.2051.0211.000
[:atomic-values :valid]1.0876.3001.1401.0251.000
[:custom-predicate :invalid]5.8796.5211.8261.0001.134
[:custom-predicate :valid]4.40114.4011.1981.0001.091
[:nil-allowed :invalid]25.78721.0811.9241.1631.000
[:nil-allowed :valid]3.6037.3321.8581.1631.000
[:sequential-collections :invalid]16.55010.4832.5381.2351.000
[:sequential-collections :valid]7.47812.1191.6871.3371.000

Performance Graph