1
How to benchmark a Freecell Solver Release:
2
-------------------------------------------
4
Requirements: perl-5.8.x or above, CMake, gcc, bash and a working
5
pthreads-devel package.
7
1. Download the Freecell Solver .tar.bz2 archive from
8
http://fc-solve.berlios.de/.
10
2. Unpack and cd to the freecell-solver-* directory.
12
3. Run "./Tatzer -l tt".
14
4. Type "make" to build everything.
16
5. Run "bash scripts/time-threads-num.bash $MAX_NUM_THREADS" .
18
The default for $MAX_NUM_THREADS is 6, where 7 completely hogs my system. If
19
you have many CPUs and/or cores and you are confident that raising it will
20
not overload your system, you may try to raise it.
22
Running the benchmarking threads is better done when the computer is not
27
7. Type "perl scripts/time-fcs.pl DUMPS/*" and copy-and-paste the results to
28
the Freecell Solver developers with specifications of your computer that are
29
as detailed as possible.
31
Getting the test suite up and running:
32
--------------------------------------
34
These are instruction how to get the test suite up and running:
36
#. Install the svn client.
39
# apt-get install subversion.
41
#. Install cmake (at least version 2.6.3):
44
# apt-get install cmake
45
$ cmake --version # Make sure it's 2.6.3.
47
#. Install make, gcc and other needed applications:
50
# apt-get install make gcc g++
52
(g++ is required by CMake even for ANSI C projects for some reason).
57
# apt-get install valgrind
59
#. Install perl (at least perl-5.8.9 - perl-5.10.0 or above is recommended).
61
#. Install perl's Template Toolkit:
63
# apt-get install libtemplate-perl
65
#. Install the libtap ( http://jc.ngo.org.uk/trac-bin/trac.cgi/wiki/LibTap )
69
$ tar -xvf /home/shlomif/Desktop/tap-1.01.tar.gz
71
$ ./configure --prefix="$HOME/apps/libtap"
72
$ make CFLAGS+=-UHAVE_LIBPTHREAD
74
# For gcc finding tap.h in the includes
75
$ echo 'export CPATH="$HOME/apps/libtap/include:$CPATH"' >> ~/.bashrc
76
# For CMake to find the TAP library.
77
$ echo 'export CMAKE_PREFIX_PATH="$HOME/apps/libtap:$CMAKE_PREFIX_PATH"' >> ~/.bashrc
83
#. Check out the latest Freecell Solver sources:
85
$ svn co https://svn.berlios.de/svnroot/repos/fc-solve/trunk/
88
$ cd trunk/fc-solve/source/
90
#. Configure the Freecell Solver build
94
#. Build Freecell Solver:
98
#. Install the dependencies of the test suite:
100
- Download local::lib from http://search.cpan.org/dist/local-lib/
101
and follow the instructions to set it up
103
$ export PERL_MM_USE_DEFAULT=1
104
$ perl -Mlocal::lib -MCPAN -e 'install Task::Test::Run::AllPlugins'
105
$ perl -Mlocal::lib -MCPAN -e 'install(qw(String::ShellQuote Test::Differences Games::Solitaire::Verify))'
106
$ perl -Mlocal::lib -MCPAN -e 'install(qw(YAML::XS))'
108
#. Set up the Test::Run plugins.
109
$ echo 'export HARNESS_PLUGINS="ColorSummary ColorFileVerdicts AlternateInterpreters"' >> ~/.bashrc
110
$ echo 'export HARNESS_ALT_INTRP_FILE="$HOME/.test-run-alt-intrp.yml"' >> ~/.bashrc
111
- Put the following under $HOME/.test-run-alt-intrp.yml:
120
- And put the following script called unity in your path (executable):
124
exec { $ARGV[0] } @ARGV;
128
#. Test Freecell Solver:
130
$ export FREECELL_SOLVER_QUIET=1
131
$ export PATH="`pwd`/board_gen:$PATH"