Skip to content
Newer
Older
100644 93 lines (74 sloc) 3.06 KB
f108162 @pmbauer Finishing touches on README
pmbauer authored Jan 20, 2012
1 Benchmark (and regression) suite for Clojure Copyright (c) Rich Hickey.
2
3 License and CA same as Clojure. See epl-v10.html at the root of the project for details.
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 20, 2012
4 ## Getting Started
5 ### Requirements
6 * JDK with java/javac on path - http://www.oracle.com/technetwork/java/javase/downloads/index.html
7 * maven - http://maven.apache.org/guides/getting-started/index.html
25fbf04 @pmbauer More readme tweaks
pmbauer authored Jan 20, 2012
8
f108162 @pmbauer Finishing touches on README
pmbauer authored Jan 21, 2012
9 ### Add the following to your ~/.m2/settings.xml file
10 <settings>
11 <activeProfiles>
12 <activeProfile>clojure-dev</activeProfile>
13 </activeProfiles>
14
15 <profiles>
16 <profile>
17 <id>clojure-dev</id>
18 <activation> <activeByDefault>false</activeByDefault> </activation>
19 <repositories>
20 <repository>
21 <id>clojars</id>
22 <url>http://clojars.org/repo/</url>
23 </repository>
24 </repositories>
25 </profile>
26 ...
27 </profiles>
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
28 ...
f108162 @pmbauer Finishing touches on README
pmbauer authored Jan 21, 2012
29 </settings>
25fbf04 @pmbauer More readme tweaks
pmbauer authored Jan 21, 2012
30
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
31 ### Building
32 ```bash
33 git clone git@github.com:clojure/test.benchmark.git
34 cd test.benchmark
35 mvn test
36 ```
25fbf04 @pmbauer More readme tweaks
pmbauer authored Jan 21, 2012
37
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
38 ### Misc
39 ```bash
40 # starts a swank server
41 mvn clojure:swank
42 ```
25fbf04 @pmbauer More readme tweaks
pmbauer authored Jan 21, 2012
43
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
44 ### Running a benchmark (e.g. alioth.thread-ring)
45 ```bash
46 script/run alioth.thread-ring 1000
47 ```
25fbf04 @pmbauer More readme tweaks
pmbauer authored Jan 21, 2012
48
4b30dc7 @pmbauer First revision of baseline test structure, includes mandelbrot and th…
pmbauer authored Feb 28, 2012
49 ### Running a baseline test
50 Baseline tests execute a java-equivalent benchmark and compare execution times to the respective clojure benchmarks.
51 The specifications for the baseline tests are in https://github.com/clojure/test.benchmark/blob/master/src/baseline/clojure/baseline/spec.clj
7ce295b @pmbauer fixing baseline execution part of README.markdown
pmbauer authored Feb 28, 2012
52
4b30dc7 @pmbauer First revision of baseline test structure, includes mandelbrot and th…
pmbauer authored Feb 28, 2012
53 ```bash
54 # this will pull down the non-CA repo into src/baseline and build
55 mvn compile -Pbaseline
56
57 # afterwards you can execute baseline tests as follows
58
59 # default, run all baseline tests 3x, sample and report
60 script/run baseline.exec
61
62 # run all baseline tests 10x, sample and report
63 script/run baseline.exec 10
64
65 # run mandelbrot and thread-ring baseline tests once and report
66 script/run baseline.exec 1 mandelbrot thread-ring
73eef40 @pmbauer Added sample baseline report output
pmbauer authored Feb 28, 2012
67 ({:failures :none,
68 :id "mandelbrot",
69 :metrics {:runtime {:baseline 9451.773698, :target 10316.261803}},
70 :tollerances {:runtime 0.25},
71 :sample-size 1}
72 {:failures :none,
73 :id "thread-ring",
74 :metrics {:runtime {:baseline 4308.804918, :target 309.521524}},
75 :tollerances {:runtime -9.0},
76 :sample-size 1})
4b30dc7 @pmbauer First revision of baseline test structure, includes mandelbrot and th…
pmbauer authored Feb 28, 2012
77 ```
7ce295b @pmbauer fixing baseline execution part of README.markdown
pmbauer authored Feb 28, 2012
78
4b30dc7 @pmbauer First revision of baseline test structure, includes mandelbrot and th…
pmbauer authored Feb 28, 2012
79 TODO: hook baseline test execution into maven test cycle and generate a jenkins-consumable report
80
ba0ec7c @pmbauer fix README formatting
pmbauer authored Jan 20, 2012
81 ## Contributing
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
82 There are a number of completed benchmarks, but there is a lot more left to do.
83 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).
1d6d020 @stuarthalloway initial commit
stuarthalloway authored Oct 26, 2010
84
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
85 A good general approach is to examine the fastest alioth implementations, usually Java or C, and write a Clojure port.
74aafa4 @swannodette * README.markdown: tweak language
swannodette authored Jan 22, 2012
86 Fast small programs in any language are also worthy of examination. These benchmarks should demonstrate how to write idiomatic high-performance Clojure.
1d6d020 @stuarthalloway initial commit
stuarthalloway authored Oct 26, 2010
87
d2966c6 @pmbauer Added instructions to README
pmbauer authored Jan 21, 2012
88 Long term goal is a performance regression test suit ...
89
90 Alioth Benchmark site is here: http://shootout.alioth.debian.org/
91
92 Work on the benchmarks is tracked here: http://dev.clojure.org/jira/browse/TBENCH
Something went wrong with that request. Please try again.