[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: File output performance
If there are a lot of rows/columns, this line will hurt you fairly badly:
(format FILE-STREAM "~S"
(nth COLUMN-NUMBER (assoc ROW-NUMBER (DATA TABLE-SYMBOL))))
Both nth and cdr are O(n) operations, where n is the # of elements in
the list being traversed. It looks to me like you should be using 2
dimensional arrays and hash tables for optimal performance from LISP.
Aside from that, I/O is still blindingly slow in MCL. Just for
comparison sake, I wrote some I/O stuff in C that I had already done in
MCL. It took about 1/50 the time (no kidding).