"Michael A. Koerber" <[EMAIL PROTECTED]> writes: > 2. This AREF execution speed problem seems limited to array's > with RANK > 1. The following shows that for RANK = 1 arrays > the timing is the same.
Yes, AREF on multi-dimensional arrays in CMUCL is rather slow. It's not optimized at all and the fully generic AREF is used. If you have a (SIMPLE-ARRAY (*)), you'll get immense speed improvements. However, an (AND (ARRAY (*)) (NOT SIMPLE-ARRAY)) of any kind will still use the generic AREF, if I understand/recall correctly. Some of the things that make arrays non-simple are fill-pointers, displacement, and extendability. However, CMUCL provides an operator called WITH-ARRAY-DATA that effectively caches the math that the generic AREF has to do in order to compute the real address of the array's storage locations. Can this be used with multidimensional arrays? If not, maybe it could be extended. -- Rahul Jain [EMAIL PROTECTED] Professional Software Developer, Amateur Quantum Mechanicist
