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.5"])
  • spec ([org.clojure/clojure "1.9.0-alpha15"])
  • truss ([com.taoensso/truss "1.4.0"])

Relative performance table

Testannotateherbertschemaspectruss
[:associative-collections :invalid]48.95721.25413.1563.0231.000
[:associative-collections :valid]34.81528.7046.1924.1221.000
[:atomic-values :invalid]11.8778.8151.2111.0391.000
[:atomic-values :valid]1.0996.7481.1551.0581.000
[:custom-predicate :invalid]5.9686.4971.8111.0001.156
[:custom-predicate :valid]4.28214.0311.2021.0001.107
[:nil-allowed :invalid]26.09023.0271.9721.1291.000
[:nil-allowed :valid]3.8737.6841.8301.1381.000
[:sequential-collections :invalid]16.59611.6542.5161.1191.000
[:sequential-collections :valid]7.48712.3141.6681.3111.000

Performance Graph