darcs-benchmark: Comparative benchmark suite for darcs.

[ bsd3, program, testing ] [ Propose Tags ]

A simple tool to compare performance of different Darcs 2.x instances. The program can download a set of test repositories, or you can provide your own. Run the program without parameters to get help.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.1.3,, 0.1.6, 0.1.7, 0.1.8,,,, 0.1.9
Dependencies base (<5), bytestring, cmdargs, containers, datetime, directory, filepath, hs-gchart, html, HTTP (>=4000.0.8 && <4000.1), json (>=0.4 && <0.5), mtl, network (>=2.2 && <2.3), old-locale, process, regex-posix, SHA, split (>=0.1 && <0.2), statistics (>=0.4 && <0.5), strict, tabular (>=, tar, time, utf8-string (>=0.3 && <0.4), uvector (>=0.1 && <0.2), zlib [details]
License BSD-3-Clause
Copyright 2009 Petr Rockai <me@mornfall.net>
Author Eric Kow <kowey@darcs.net>, Simon Michael <simon@joyful.com> and Petr Rockai <me@mornfall.net>
Maintainer Darcs Project <darcs-users@darcs.net>
Category Testing
Home page http://wiki.darcs.net/Development/Benchmarks
Source repo head: darcs get http://code.haskell.org/darcs/darcs-benchmark
Uploaded by EricKow at 2010-08-08T14:25:18Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables darcs-benchmark
Downloads 8918 total (16 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-11 [all 9 reports]

Readme for darcs-benchmark-0.1.9

[back to package description]
Darcs benchmarking bits


Say `cabal install` to build and install the darcs-benchmark binary. When you
have one, run it to obtain further instructions. (Hint: --get will download the
benchmark repositories.)

Writing Benchmarks

Please take a look at Standard.hs: this is a module with a bunch of "standard
darcs benchmarks", currently get, annotate, check, repair and some other. It
should be fairly clear how to write your own from these examples. Timing is the
overall time spent in the benchmark, memory is the peak memory usage reported
by RTS, from darcs invocations only (this also means that the darcs executables
supplied need to accept +RTS ... options).

Adding repositories

To add a new repository:

- cd my-bench-repo && tar czf ../my-bench-repo.tgz .
- upload the result somewhere and tell mornfall (me-at-mornfall-dot-org)

To test locally, just darcs get /path/to/your/repository repo.your-repo and run

Obtaining Profiles

Not yet implemented, but shouldn't be too hard. Probably we need to:

- detect whether the binaries are compiled with profiling enabled,
- pass in the right RTS flags to produce some profiling output,
- stash away this output after each darcs invocation, to a predictable place.