Add benchmarking package and setup instructions
author |
Steve Losh <steve@stevelosh.com> |
date |
Wed, 24 Aug 2016 14:45:17 +0000 |
parents |
7514865459fd
|
children |
45622a0c4e96
|
branches/tags |
(none) |
files |
contrib/gdl-benchmark/README.markdown contrib/gdl-benchmark/run-temperance.ros |
Changes
--- a/contrib/gdl-benchmark/README.markdown Wed Aug 24 13:57:32 2016 +0000
+++ b/contrib/gdl-benchmark/README.markdown Wed Aug 24 14:45:17 2016 +0000
@@ -1,4 +1,45 @@
+Temperance GDL Reasoning Benchmark
+==================================
+
An thin wrapper to plug Temperance into [Stephan and Yngvi's GDL reasoner
benchmarking library thing][paper].
[paper]: http://cgi.cse.unsw.edu.au/~mit/GGP/GIGA-13-Proceedings.pdf#page=55
+
+Setup
+-----
+
+Install [Roswell][].
+
+Pick a Lisp implementation and install it with Roswell. Temperance is primarily
+focused on running fast with [SBCL][], but should run on at least CCL and ECL
+too.
+
+ ros install sbcl
+
+Clone down the dependencies into Roswell's `local-projects` directory. You can
+clone them elsewhere and symlink them if you prefer:
+
+ cd ~/.roswell/local-projects/
+
+ # Mercurial
+ hg clone http://bitbucket.org/sjl/temperance
+ hg clone http://bitbucket.org/sjl/cl-losh
+
+ # Git
+ git clone http://github.com/sjl/temperance
+ git clone http://github.com/sjl/cl-losh
+
+Build the benchmarking binary with your chosen Lisp:
+
+ cd ~/.roswell/local-projects/temperance/contrib/gdl-benchmark/
+
+ ros use sbcl
+ ros build run-temperance.ros
+
+Run the binary just like you would any of the others in the suite:
+
+ ~/.roswell/local-projects/temperance/contrib/gdl-benchmark/run-temperance 'dfs mc' 10 .../foo.gdl .../foo.trace
+
+[Roswell]: https://github.com/roswell/roswell
+[SBCL]: http://www.sbcl.org/
--- a/contrib/gdl-benchmark/run-temperance.ros Wed Aug 24 13:57:32 2016 +0000
+++ b/contrib/gdl-benchmark/run-temperance.ros Wed Aug 24 14:45:17 2016 +0000
@@ -5,9 +5,22 @@
|#
;;;; Dependencies -------------------------------------------------------------
-(ql:quickload 'unix-opts :silent t)
-(ql:quickload 'split-sequence :silent t)
-(ql:quickload 'temperance :silent t)
+(ql:quickload :uiop :silent t)
+(ql:quickload :unix-opts :silent t)
+(ql:quickload :split-sequence :silent t)
+(ql:quickload :losh :silent t)
+(ql:quickload :temperance :silent t)
+
+;;;; Package ------------------------------------------------------------------
+(defpackage #:temperance.contrib.gdl-benchmark
+ (:use
+ #:cl
+ #:losh
+ #:temperance.quickutils
+ #:temperance))
+
+(in-package #:temperance.contrib.gdl-benchmark)
+
;;;; Benchmarking -------------------------------------------------------------
(defun run (modes limit gdl-file trace-file)