NOTE: This patch has been committed. The version below is informational only (whitespace differences have been removed).
ChangeLog addition:
2006-01-09 Didier Verna didier@lrde.epita.fr
* 2.0/README: Update comments for dedicated versions.
GSC source patch: Diff command: svn diff --diff-cmd /usr/bin/diff -x "-u -t -b -B -w" Files affected: 2.0/README
Index: 2.0/README =================================================================== --- 2.0/README (revision 46) +++ 2.0/README (working copy) @@ -161,23 +161,32 @@
** src/dd
-dedicated code, no abstraction +*** Languages currently used: +C, Java, Eiffel, Common Lisp.
-*** comments - -the C code gives us a time reference. - -*** code - -c/ - dd_c.c - -java/ - Main.java - -eiffel/ - image1d_int.e - main.e +*** Comments: +Programs are fully dedicated (no abstraction). Apart from language-specific +peculiarities, there are 4 variations of the algorithm for each language: +- images represented as one or two-dimensional arrays +- linear or "randomized" image traversal + +The linear versions simply traverse the images by line / column order. The +"randomized" versions (files ending with an 'i') are supposed to minimize the +hardware / os impact on memory access (typically, cache size, pagination etc). +To this aim, image traversal is done by column first (in 2D array versions), +and individual cells are accessed by steps of a prime number. + +Along with the same lines, the default image size (800) is chosen *not* to be +a power of two. + + +Some recommendations: +- do not use language-specific idioms (e.g. *p++ = ... in C) to avoid + potential language-specific optimization. We want to test the algorithm + only. +- do not bench on a single run of the algorithm, to avoid initalization + artefacts (like initial page faults), and timing precision influence. That's + why the default number of runs is set to 200.
** src/st