9da17791e5da

Add benchmarking package and setup instructions
[view raw] [browse files]
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)