* Add tests for markdown-clj and tools.namespace
See comment for why only one markdown test could be run.
Closes #1069 and #1064
* Convert 10 test libs using add-libtest
Also improved add-libtest to only require maven artifact
and rely on clojars for getting git-url most of the time
* Convert 8 more test libs using add-libtest
Also updated table and added comment for newline test
* Fix doric test
* Disable tools.namespace test that fails on windows
* Added dozen manual test libs and converted 2 test libs
add-libtest.clj supports manually-added and test-directories options
* Converts last tests to test namespaces and write libraries.csv
* Add a number of library tests from projects.md
Also add more docs around adding test libs and tweak add script
* Use :sha for gitlib and older clojure cli
* Revert "Use :sha for gitlib and older clojure cli"
This reverts commit c663ab8368.
* Fix and disable failing tests
Disabled tests that fail consistently and fixed windows one
18 lines
625 B
Clojure
18 lines
625 B
Clojure
(ns portal.bench
|
|
#?(:cljs (:refer-clojure :exclude [simple-benchmark]))
|
|
#?(:cljs (:require-macros portal.bench)))
|
|
|
|
(defn now []
|
|
#?(:clj (System/currentTimeMillis)
|
|
:cljs (.now js/Date)))
|
|
|
|
(defmacro simple-benchmark
|
|
[bindings expr iterations & {:keys [print-fn] :or {print-fn 'println}}]
|
|
(let [expr-str (pr-str expr)]
|
|
`(let ~bindings
|
|
(dotimes [_# ~iterations] ~expr)
|
|
(let [start# (now)
|
|
ret# (dotimes [_# ~iterations] ~expr)
|
|
end# (now)
|
|
elapsed# (- end# start#)]
|
|
(~print-fn (str ~iterations " runs, " elapsed# " msecs, " ~expr-str))))))
|