Very nice Simon! -- Don
simon: > Here are the results of some simple tests using four different versions > of darcs on my ubuntu box. A full transcript is included so you can spot > any problems with my method and see how to run these tests yourself, and > add more. > > Also, this demonstrates bench.hs, a new tool based on Eric's scripts. > This one uses haskell only and aims to be simple to use and > cross-platform. It can only run simple darcs commands though. (I > extended it to handle shell commands last night, but the gods were > angered and I lost that work. :/) > > I can't run the actual bigzoo tests on this machine, unfortunately, as > it would mean shutting down my cpu-hogging web app servers for several > hours. I did shut them down during the tests below, and monitored with > top to be sure the box was otherwise quiet. > > -Simon > > > # darcs/bytestring benchmarking transcript > > # 1. build four versions of darcs > > $ ghc --version > The Glorious Glasgow Haskell Compilation System, version 6.8.2 > $ ghc-pkg list bytestring > /usr/local/lib/ghc-6.8.2/package.conf: > bytestring-0.9.0.1 > /home/simon/.ghc/x86_64-linux-6.8.2/package.conf: > > $ darcs get --lazy http://darcs.net/unstable darcs-presprint > $ darcs --repodir darcs-presprint obliterate -a --matches 'date "after > 2008-10-25"' # inclusive > > $ darcs get --lazy darcs-presprint darcs-presprint-no-bytestring > $ (cd darcs-presprint-no-bytestring; autoconf; ./configure > --disable-bytestring; make) > > $ darcs get --lazy darcs-presprint darcs-presprint-bytestring-0.9.0.1 > $ (cd darcs-presprint-bytestring-0.9.0.1; autoconf; ./configure > --enable-bytestring; make) > > $ darcs get --partial http://darcs.haskell.org/bytestring > $ (cd bytestring; runhaskell Setup.lhs configure; runhaskell Setup.lhs build; > sudo runhaskell Setup.lhs install) > $ sudo ghc-pkg hide bytestring-0.9.0.1 > $ ghc-pkg list bytestring > /usr/local/lib/ghc-6.8.2/package.conf: > (bytestring-0.9.0.1), bytestring-0.9.1.4 > /home/simon/.ghc/x86_64-linux-6.8.2/package.conf: > > $ darcs get --lazy darcs-presprint darcs-presprint-bytestring-0.9.1.4 > $ (cd darcs-presprint-bytestring-0.9.1.4; autoconf; ./configure > --enable-bytestring; make) > > $ darcs get --lazy http://code.haskell.org/darcs/sprint > darcs-sprint-bytestring-0.9.1.4 > $ (cd darcs-sprint-bytestring-0.9.1.4; autoconf; ./configure > --enable-bytestring; make) > # actually, had to build with cabal to work around a darcs changes hang > > $ ln -s darcs-presprint-no-bytestring/darcs darcsnobs > $ ln -s darcs-presprint-bytestring-0.9.0.1/darcs darcsbs0901 > $ ln -s darcs-presprint-bytestring-0.9.1.4/darcs darcsbs0914 > $ ln -s darcs-sprint-bytestring-0.9.1.4/darcs darcssprint > $ ./darcsnobs --version; ./darcsbs0901 --version; ./darcsbs0914 --version; > ./darcssprint --version > 2.1.0 (+ 194 patches) > 2.1.0 (+ 194 patches) > 2.1.0 (+ 194 patches) > 2.1.0 (+ 321 patches) > > # 2. get latest bench.hs > > $ darcs get --lazy http://joyful.com/repos/darcs-benchmark > $ (cd darcs-benchmark; sudo cabal install tabular; ghc --make bench.hs) > > # 3. run some simple tests in the darcs repo > > $ cat - >bench.tests > changes > changes -s > whatsnew -sl > annotate Setup.hs > > $ darcs-benchmark/bench bench.tests 3 /repos/darcs-stable ./darcsnobs > ./darcsbs0901 ./darcsbs0914 ./darcssprint > Running 4 tests 3 times in /repos/darcs-stable with 4 executables: > 1: ./darcsnobs changes --repodir /repos/darcs-stable [1.9s] > 2: ./darcsnobs changes --repodir /repos/darcs-stable [1.8s] > 3: ./darcsnobs changes --repodir /repos/darcs-stable [1.9s] > 1: ./darcsbs0901 changes --repodir /repos/darcs-stable [1.6s] > 2: ./darcsbs0901 changes --repodir /repos/darcs-stable [1.5s] > 3: ./darcsbs0901 changes --repodir /repos/darcs-stable [1.6s] > 1: ./darcsbs0914 changes --repodir /repos/darcs-stable [1.7s] > 2: ./darcsbs0914 changes --repodir /repos/darcs-stable [1.7s] > 3: ./darcsbs0914 changes --repodir /repos/darcs-stable [1.6s] > 1: ./darcssprint changes --repodir /repos/darcs-stable [1.6s] > 2: ./darcssprint changes --repodir /repos/darcs-stable [1.6s] > 3: ./darcssprint changes --repodir /repos/darcs-stable [1.7s] > 1: ./darcsnobs changes -s --repodir /repos/darcs-stable [10.0s] > 2: ./darcsnobs changes -s --repodir /repos/darcs-stable [9.9s] > 3: ./darcsnobs changes -s --repodir /repos/darcs-stable [10.1s] > 1: ./darcsbs0901 changes -s --repodir /repos/darcs-stable [7.8s] > 2: ./darcsbs0901 changes -s --repodir /repos/darcs-stable [7.6s] > 3: ./darcsbs0901 changes -s --repodir /repos/darcs-stable [7.7s] > 1: ./darcsbs0914 changes -s --repodir /repos/darcs-stable [7.9s] > 2: ./darcsbs0914 changes -s --repodir /repos/darcs-stable [7.8s] > 3: ./darcsbs0914 changes -s --repodir /repos/darcs-stable [7.4s] > 1: ./darcssprint changes -s --repodir /repos/darcs-stable [7.2s] > 2: ./darcssprint changes -s --repodir /repos/darcs-stable [7.5s] > 3: ./darcssprint changes -s --repodir /repos/darcs-stable [7.4s] > 1: ./darcsnobs whatsnew -sl --repodir /repos/darcs-stable [8.3s] > 2: ./darcsnobs whatsnew -sl --repodir /repos/darcs-stable [8.6s] > 3: ./darcsnobs whatsnew -sl --repodir /repos/darcs-stable [9.1s] > 1: ./darcsbs0901 whatsnew -sl --repodir /repos/darcs-stable [8.7s] > 2: ./darcsbs0901 whatsnew -sl --repodir /repos/darcs-stable [8.3s] > 3: ./darcsbs0901 whatsnew -sl --repodir /repos/darcs-stable [8.3s] > 1: ./darcsbs0914 whatsnew -sl --repodir /repos/darcs-stable [8.4s] > 2: ./darcsbs0914 whatsnew -sl --repodir /repos/darcs-stable [8.8s] > 3: ./darcsbs0914 whatsnew -sl --repodir /repos/darcs-stable [8.0s] > 1: ./darcssprint whatsnew -sl --repodir /repos/darcs-stable [8.6s] > 2: ./darcssprint whatsnew -sl --repodir /repos/darcs-stable [8.4s] > 3: ./darcssprint whatsnew -sl --repodir /repos/darcs-stable [8.2s] > 1: ./darcsnobs annotate Setup.hs --repodir /repos/darcs-stable [47.6s] > 2: ./darcsnobs annotate Setup.hs --repodir /repos/darcs-stable [47.3s] > 3: ./darcsnobs annotate Setup.hs --repodir /repos/darcs-stable [48.1s] > 1: ./darcsbs0901 annotate Setup.hs --repodir /repos/darcs-stable [38.8s] > 2: ./darcsbs0901 annotate Setup.hs --repodir /repos/darcs-stable [38.9s] > 3: ./darcsbs0901 annotate Setup.hs --repodir /repos/darcs-stable [38.8s] > 1: ./darcsbs0914 annotate Setup.hs --repodir /repos/darcs-stable [38.4s] > 2: ./darcsbs0914 annotate Setup.hs --repodir /repos/darcs-stable [38.6s] > 3: ./darcsbs0914 annotate Setup.hs --repodir /repos/darcs-stable [38.3s] > 1: ./darcssprint annotate Setup.hs --repodir /repos/darcs-stable [38.2s] > 2: ./darcssprint annotate Setup.hs --repodir /repos/darcs-stable [38.5s] > 3: ./darcssprint annotate Setup.hs --repodir /repos/darcs-stable [38.2s] > > Summary (best iteration): > > || ./darcsnobs | ./darcsbs0901 | ./darcsbs0914 | > ./darcssprint > ==================++=============+===============+===============+============== > changes || 1.8 | 1.5 | 1.6 | > 1.6 > changes -s || 9.9 | 7.6 | 7.4 | > 7.2 > whatsnew || 0.1 | 0.1 | 0.1 | > 0.1 > whatsnew -sl || 8.3 | 8.3 | 8.0 | > 8.2 > annotate Setup.hs || 47.3 | 38.8 | 38.3 | > 38.2 > > _______________________________________________ > darcs-users mailing list > [email protected] > http://lists.osuosl.org/mailman/listinfo/darcs-users _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
