The Pseudoknot program had to be translated by hand from the Scheme or C
versions to the various other languages. All versions were
hand tuned to exhibit the best performance available with the compiler
being used. The following set of guidelines has been used to make the
comparison as fair as possible:
The guidelines above were designed on the basis of the experience gained at the Dagstuhl workshop with a small subset of the present, much larger set of implementations. We tried to make the guidelines as clear and concise as possible, yet they were open to different interpretations. The problems we had were aggravated by the use of different terminology, in particular when one term means different things to people from different backgrounds. During the process of interpreting and integrating the benchmarking results in the paper we have made every effort to iron out the differences that we found. Clearly there are some left that we are not aware of.
In addition to these unintentional differences, there are intentional differences: some experimentors spent more time and effort in improving their version of Pseudoknot than others. These efforts have been documented in the sections to follow.
The impact of this combined variability of efforts, intentional and unintentional, is very difficult to assess. A formal method for performing benchmarks is clearly needed.