标签: objective-c ios performance memory ipad-2
我遇到的问题是,当频繁重新分配内存时,访问存储在堆内存中的数据执行速度非常慢。
与
有什么可以解释这种行为?
答案 0 :(得分:1)
可能是页面错误问题。如果你对大块RAM进行malloc,则可能不会立即分配物理RAM,而是设置一些页表条目。在您第一次访问其中的位置之前,不会分配物理RAM。这涉及到
这在时间方面是一项昂贵的操作,每个分配的页面会发生一次(对于你正在分配的RAM,为550 x 4kbyte页面)