From 8962bde05562beaa186401947f65b14bc77a855a Mon Sep 17 00:00:00 2001 From: Yogthos Date: Sun, 28 Jul 2013 15:57:38 -0400 Subject: [PATCH] added selmer benchmark --- project.clj | 1 + src/clojure_template_benchmarks/core.clj | 39 ++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/project.clj b/project.clj index fada044..84c91a4 100644 --- a/project.clj +++ b/project.clj @@ -11,5 +11,6 @@ [hiccup "1.0.3"] [stencil "0.3.2"] [tinsel "0.4.0" :exclusions [hickory]] + [selmer "0.1.8"] [me.raynes/laser "1.1.1"] [me.shenfeng/mustache "1.1"]]) diff --git a/src/clojure_template_benchmarks/core.clj b/src/clojure_template_benchmarks/core.clj index e52e017..9dc6529 100644 --- a/src/clojure_template_benchmarks/core.clj +++ b/src/clojure_template_benchmarks/core.clj @@ -6,7 +6,8 @@ [hiccup.core :as hiccup] [me.raynes.laser :as laser :refer [defdocument]] [net.cgrand.enlive-html :as enlive] - [me.shenfeng.mustache :as mustache])) + [me.shenfeng.mustache :as mustache] + [selmer.parser :as selmer])) (def bar (str "bar")) @@ -23,6 +24,23 @@ "")) +(defn simple-selmer-no-fd [] + (selmer/render "{{bar}}" {:bar bar})) + +(defn list-selmer-no-fd [ceil] + (selmer/render "" + {:items (range 1 ceil)})) + +(defn simple-selmer [] + (selmer/render-file "clojure_template_benchmarks/templates/simple.html" {:bar bar})) + +(defn list-selmer [ceil] + (selmer/render-file "clojure_template_benchmarks/templates/list.html" {:items (range 1 ceil)})) + +(defn list-selmer-template [template ceil] + (selmer/render template {:items (range 1 ceil)})) + + (defn simple-hiccup [] (hiccup/html [:span {:class "foo"} bar])) @@ -52,6 +70,7 @@ (render-file "clojure_template_benchmarks/templates/list.html" {:items (range 1 ceil)})) + (defn simple-stencil-no-fd [] (stencil/render-string "{{bar}}" {:bar bar})) @@ -146,6 +165,22 @@ (with-progress-reporting (quick-bench (list-clabango 1000))) (println "\n --- \n") + (println "\n\n ***** selmer string ***** \n\n") + (quick-bench (simple-selmer-no-fd)) + (println "\n --- \n") + (quick-bench (list-selmer-no-fd 50)) + (println "\n --- \n") + (quick-bench (list-selmer-no-fd 1000)) + (println "\n --- \n") + + (println "\n\n ***** selmer from file template ***** \n\n") + (with-progress-reporting (quick-bench (simple-selmer))) + (println "\n --- \n") + (with-progress-reporting (quick-bench (list-selmer 50))) + (println "\n --- \n") + (with-progress-reporting (quick-bench (list-selmer 1000))) + (println "\n --- \n") + (println "\n\n ***** stencil string ***** \n\n") (with-progress-reporting (quick-bench (simple-stencil-no-fd))) (println "\n --- \n") @@ -193,7 +228,7 @@ (println "\n --- \n") (with-progress-reporting (quick-bench (list-laser-hinted 1000))) (println "\n --- \n") - + (println "\n\n ***** enlive ***** \n\n") (with-progress-reporting (quick-bench (simple-enlive))) (println "\n --- \n")