git.fiddlerwoaroof.com
Browse code

Add benchmarking

Fernando Borretti authored on 22/04/2015 22:30:23
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,28 @@
1
+(in-package :cl-user)
2
+(defpackage cl-yaml-test.bench
3
+  (:use :cl :fiveam)
4
+  (:export :bench))
5
+(in-package :cl-yaml-test.bench)
6
+
7
+;;; Utilities
8
+
9
+(defmacro bench (string)
10
+  `(finishes
11
+     (format t "~%Benchmarking: ~S" ,string)
12
+     (benchmark:with-timing 1000
13
+       (yaml:parse ,string))))
14
+
15
+
16
+;;; Tests
17
+
18
+(def-suite bench
19
+  :description "Benchmarking.")
20
+(in-suite bench)
21
+
22
+(test scalar
23
+  (bench "123")
24
+  (bench "1.234")
25
+  (bench "test")
26
+  (bench "null")
27
+  (bench "[1, 2, 3]")
28
+  (bench "{ a: 1, b: 2}"))