Arrays vs Lists and Specialization

Ketil Z. Malde ketil@ii.uib.no
22 Jan 2003 09:40:49 +0100


Matthew Donadio <m.p.donadio@ieee.org> writes:

> OK, my question then has to do with the efficiency of lists versus
> arrays.  Do the latest compilers handle handle arrays efficiently, or
> are lists really the way to go?  

I've currently struggled a bit with arrays.  I have a list based
program (calculating suffix arrays, since you ask), and since I
experience a notably lower performance than array based C equivalents,
I thought using arrays would help me out.

Currently, I've been able to use arrays efficiently as read-only data
structures. I've tried to use STArrays to do updates imperatively, but
it's still slow, and uses a lot of memory (that doesn't show up in the
heap profiling).  I'll try to wrap more of the program in the ST
monad, to see if it helps.

> If there is a performace difference, is it generally big enough to
> warrant rewriting algorithms?

I think it is hard to answer that generally.  For some algorithms, the
benefit can be significant; it depends on your application, your data
set, and your resources. 

But remember that correct is better than fast, and readable is better
than correct. :-)

-kzm
-- 
If I haven't seen further, it is by standing in the footprints of giants