git.fiddlerwoaroof.com
Browse code

Add some benchmarks

Fernando Borretti authored on 30/09/2013 23:09:47
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,16 @@
1
+(in-package :cl-yaml-test)
2
+
3
+(defun make-gen ()
4
+  (lambda () (random 99)))
5
+
6
+(defun generate-list (gen &optional (len 100))
7
+  (yaml:emit (loop repeat len collecting (funcall gen))))
8
+
9
+(defun benchmark (str)
10
+  (format t "Bytes: ~A~&Time to parse:~&" (length str))
11
+  (time (yaml:parse str))
12
+  (terpri))
13
+
14
+(defun run-benchmarks ()
15
+  (loop for i from 1 to 256 do
16
+       (benchmark (generate-list (make-gen) (* 256 i)))))