2012-12-02 38 views
1

我在lisp中制作了一个程序,它增加了堆的速度。 这个问题应该是两件事之一,但我不是陛下哪一个让堆增长得这么快。 其中之一是与15个位置的列表和每个位置与4字段的结构(所有fiels都只是小数字) 另一个是2D阵列15×15lisp减少堆(数组vs列表)

现在对于每一个循环周期我正在做一个拷贝各自使用

为结构列表的: (mapcar#'复制结构列表)

为15×15的2D阵列 (调整阵列 (使阵列变暗:移位到阵列) dims)

任何人都知道哪一个是最负责任的内存消耗? 在此先感谢您的帮助

回答

1

只是看着这个,两者会在相似的数量级上增长堆。我怀疑你的算法对你的应用程序来说不够高效。

(顺便说一下,使用alexandria:copy-array复制数组。adjust-array黑客并不是最有效的事情)