On 27/08/2010, at 5:04 PM, [email protected] wrote:

> Repa Performance Test Succeeded
> 
> Environment
>  Platform
>    host:      limitingfactor.cse.unsw.EDU.AU
>    arch:      i386
>    processor: i386
>    system:    Darwin 10.4.0
>  Versions
>    GHC The Glorious Glasgow Haskell Compilation System, version 6.12.1
>    GCC i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
> 
>                    aspect       min   ref%   avg   ref%   max   ref%   
> spread% 
>                    ---------    ----------   ----------   ----------   
> ------- 
> mmult              elapsed      1.902(-42)   2.562( -5)   2.802( +3)       35
>                    k.elapsed    1.817(-45)   2.481( -6)   2.657( +0)       33
> 
> laplace            elapsed      3.002( -0)   3.002( -0)   3.002( -3)        0
>                    k.elapsed    2.055( +2)   2.067( +1)   2.084( +0)        1
> 
> fft2d-highpass     elapsed      3.503( -0)   3.543( -1)   3.603( -0)        2
>                    k.elapsed    3.153( -0)   3.205( -1)   3.275( -0)        3
> 
> fft3d-highpass     elapsed      8.007( +1)   8.106( +1)   8.206( +2)        2
>                    k.elapsed    6.164( +1)   6.300( +1)   6.393( +1)        3
> 


I've set up a buildbot running on our OSX server that grabs the current head 
and runs performance regression tests each night. It's currently configured to 
run each benchmark with 4 threads. The machine has 8 but I set it to 4 to avoid 
wibbles when the machine is doing something else as well (like running 
Spotlight).

I'm not sure why mmult had one low time in this run, I'll look into it.

I'll also add DPH tests over the next few of days, but if you have specific 
benchmarks you care about then let me know and I'll add those as well. I 
currently have to add new benchmarks by hand, so doing "all of nofib" isn't 
going to work just yet.

The buildbot is a Haskell program (of course) in the Repa repo at:
  http://code.haskell.org/repa/repa-head/repa-bot/

I've factored out all the reusable code into a library for writing buildbots:
  http://hackage.haskell.org/package/buildbox

The bot also has a command line interface, which can do GHC and Repa builds, 
run regression tests and display comparisons against numbers in a baseline file.

I haven't yet written a bridge to Progression or Criterion as they have 
different functionality, but I may end up doing that in the future. 

Here's what the bot does:

repa-bot: usage: repa-bot [options] [--] ...
  [-h,--help]                   Print this usage help.
  [-v,--verbose]                Verbose logging of build commands.
  [--dump <file>]               Dump a test results file in human readable 
format.
  [--compare]                   Compare two test results files.
  [--total]                     Run the total build. All ghc and repa stages.
  [--ghc-unpack <file>]         Unpack this GHC snapshot and update it from 
darcs.haskell.org.
  [--ghc-build]                 Build an unpacked GHC snapshot.
  [--ghc-libs]                  Download and install base libraries into a GHC 
build.
  [--repa-unpack]               Download the latest version of Repa from 
code.haskell.org.
  [--repa-build]                Build and register the Repa packages with a GHC 
build.
  [--repa-test]                 Run Repa regression tests.
  [--daily <time>]              Run the given build commands every day at this 
time. fmt: HH:MM:SS
  [--now]                       (opt. for --daily) Also run the build right now.
  [--tomorrow]                  (opt. for --daily) Run the first build tomorrow.
  [--scratch <dir>]             Scratch dir to do the build in.
  [--with-ghc-snapshot <file>]  Use this GHC snapshot, something like 
ghc-head-DATE.tgz
  [--with-ghc-build <dir>]      Use this existing GHC build.
  [--mailfrom <address>]        (opt. for repa-test mode) Use "msmtp" to mail 
results from this address.
  [--mailto <address>]          (opt. for repa-test mode)  ... to this address.
  [-i,--iterations <int>]       (opt. for repa-test mode) Number of times to 
run each benchmark.
  [-w,--write <file>]           (opt. for repa-test mode) Write results to this 
file.
  [-s,--write-stamped <file>]   (opt. for repa-test mode)  ... appending a time 
stamp to the name.
  [-a,--against <file>]         (opt. for repa-test mode) Print running 
comparison against results in this file.


Cheers,
Ben.


_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to