From d2966c611d730e4fdec8ff80a75ea542a72a8bea Mon Sep 17 00:00:00 2001 From: Paul M Bauer Date: Fri, 20 Jan 2012 20:23:48 -0700 Subject: [PATCH] Added instructions to README --- README.markdown | 55 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/README.markdown b/README.markdown index a94a287..819337c 100644 --- a/README.markdown +++ b/README.markdown @@ -1,7 +1,54 @@ -Benchmark (and regression) suite for Clojure -Copyright (c) Rich Hickey. +## Getting Started +### Requirements +* JDK with java/javac on path - http://www.oracle.com/technetwork/java/javase/downloads/index.html +* maven - http://maven.apache.org/guides/getting-started/index.html +* add the following to your ~/.m2/settings.xml file +```xml + + + clojure-dev + -License and CA same as Clojure. See epl-v10.html at the root of the -project for details. + + + clojure-dev + false + + + clojars + http://clojars.org/repo/ + + + + ... + + ... + +``` +### Building +```bash +git clone git@github.com:clojure/test.benchmark.git +cd test.benchmark +mvn test +``` +### Misc +```bash +# starts a swank server +mvn clojure:swank +``` +### Running a benchmark (e.g. alioth.thread-ring) +```bash +script/run alioth.thread-ring 1000 +``` +### Contributing +There are a number of completed benchmarks, but there is a lot more left to do. +Andy Fingerhut has a suit of benchmarks tailored for Clojure 1.2 and need updated or redone for Clojure 1.3 (https://github.com/jafingerhut/clojure-benchmarks). +A good general approach is to examine the fastest alioth implementations, usually Java or C, and write a Clojure port. +Idiomatic Clojure typically shows poorly in the benchmarks. Liberal use of primitive arrays, type hinting, and iteration apply. +Long term goal is a performance regression test suit ... + +Alioth Benchmark site is here: http://shootout.alioth.debian.org/ + +Work on the benchmarks is tracked here: http://dev.clojure.org/jira/browse/TBENCH