【问题标题】:lisp reduce heap (array vs list)lisp 减少堆(数组与列表)
【发布时间】:2012-11-20 07:53:03
【问题描述】:

我在 lisp 中编写了一个程序,它增加堆的速度太快了。 问题应该是两件事之一,但我不知道哪一个使堆增长得如此之快。 其中一个是一个有 15 个位置的列表,每个位置是一个有 4 个字段的结构(所有字段都是小数字) 另一个是 15x15 的二维数组

现在对于每个循环循环,我都使用每个循环制作一个副本

对于结构列表: (mapcar #'复制结构列表)

对于 15x15 二维数组 (调整阵列 (make-array dims :displaced-to array) 昏暗)

有谁知道哪一个对内存消耗最负责? 提前感谢您的帮助

【问题讨论】:

    标签: arrays list memory lisp heap-memory


    【解决方案1】:

    只要看看这个,两者都会以相似的数量级增长堆。我怀疑您的算法对于您的应用程序来说根本不够节省空间。

    (顺便说一句,使用alexandria:copy-array 复制数组。adjust-array hack 并不是最有效的方法。)

    【讨论】:

      猜你喜欢
      • 2014-07-01
      • 2011-05-30
      • 2012-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      相关资源
      最近更新 更多