2010-02-10 59 views

回答

2

http://en.wikipedia.org/wiki/Page_fault

增加您计算机上的物理RAM可能会导致更少的页面错误,虽然设计更改您的应用程序会比添加RAM好得多。一般来说,拥有较小的内存占用量,并且在同一页面上同时访问的内容会减少页面错误的数量。此外,尝试尽可能一次性处理内存中的一些数据,这样您就不需要多次访问它,这可能会导致页面错误(又名抖动)。

3

它也可能会有所帮助,以确保所后互相访问的内存是互相靠近(例如,如果你有一些对象,将它们放置在一个数组),如果这些对象有大量的数据,这是非常罕见使用时,将它放在另一个班级中,并让第一堂课引用第二堂课。这样你大部分时间都会使用更少的内存。

+0

+1:虽然这是我的模式在数据库设计中非常了解,我从来没有真正考虑过OO设计,我喜欢它! – 2010-03-04 01:03:01

0

一个设计选项是编写一个内存缓存系统,懒惰地创建内存(按需创建)。这样的高速缓存将有一组预先分配的内存块,通过它们的大小访问。例如,一个由N个列表组成的数组,每个列表都有M个缓冲区。每个列表负责为您提供一定大小的内存区域。 (例如,从每个列表中为您带来的内存在2^i(i = 0..N-1)的范围内,即使您要使用少于2^i的值,您也不会在缓冲区中使用额外的内存。 这将是小内存浪费权衡,VS缓存和更少的页面错误

另一种选择是使用nedmalloc

好运 利奥尔

相关问题