|
|
Direct Comparison with C
The FISh benchmark programs are all efficient C programs, allowing for
some small constant costs that do not appear within loop bodies.
When polymorphic programs are used, then FISh is actually faster than
C! For example, when sorting random arrays of floats (C doubles) with
200,00 entries FISh user time is less than half of that of C's qsort
function. Details are in a directory of Native C. The probable source of the
difference is that the C comparisons use pointers whereas the FISh
comparisons do not, i.e. FISh arrays, even nested arrays, are always
unboxed. Similar results can be expected when performing polymorphic
mapping, etc. but figures are not yet available.
|