【发布时间】:2012-01-29 07:36:04
【问题描述】:
我遇到了一个问题,当内存被频繁重新分配时,访问存储在堆内存中的数据执行速度非常慢。
对比
什么可以解释这种行为?
【问题讨论】:
-
不要发布文字图片。对于犯同样错误的其他问题,这将是一个有用的重复目标,但如果没有复制/粘贴(并且盲人可读等)形式的代码,则并非如此。
标签: objective-c ios performance memory ipad-2
我遇到了一个问题,当内存被频繁重新分配时,访问存储在堆内存中的数据执行速度非常慢。
对比
什么可以解释这种行为?
【问题讨论】:
标签: objective-c ios performance memory ipad-2
可能是页面错误问题。如果你 malloc 一大块 RAM,物理 RAM 可能不会立即分配,一些页表条目将被设置。在您第一次访问其中的位置之前,不会分配物理 RAM。这涉及到
就时间而言,这是一项耗时的操作,并且每个分配的页面都会发生一次(您正在分配的 RAM 为 550 x 4kbyte 页面)
【讨论】: