Browse code
Add benchmarking
Fernando Borretti authored on 22/04/2015 22:30:23
Showing 1 changed files
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}")) |