【发布时间】:2014-11-05 01:45:05
【问题描述】:
来自 Richard Bird,Pearls of Functional Algorithm Design(2010 年),第 6 页:
对于纯函数式程序员,更新操作需要数组大小的对数时间。公平地说,程序程序员也很欣赏恒定时间的索引和更新 只有当数组很小时才有可能。
数组在什么条件下可以进行非常量访问?这和CPU缓存有关吗?
【问题讨论】:
-
是的。一次缓存未命中可能会花费数百条机器指令。
-
你把这句话完全断章取义了。
-
我同意@JeffMercado。这真的是可变的与不可变的数组/列表/向量(或任何你想称之为的)。
-
他的引述可能断章取义。如果您忽略他的报价,那么问题仍然存在。
标签: arrays performance optimization