窗口 – 什么是工作集?

在阅读 Windows研究内核的内存管理代码时,我对工作集的概念感到困惑.
“工作集”是“当前算法正在使用的内存部分”的缩写,由cpu刚刚访问的内存部分决定.这是完全自动的.如果正在处理数组并将结果存储在表中,则数组和表是您的工作集.

这是因为cpu自动将访问的内存存储在缓存中,靠近处理器.工作集是描述要存储的内存的好方法.如果它足够小,它们都可以适应缓存,并且您的算法将运行得非常快.在操作系统级别上,内核必须告诉cpu,每次访问新页面(通常为4k大小)时,您的应用程序正在使用的物理内存(解析虚拟地址),您也希望避免这样的打击尽可能.

有关算法性能与工作集大小(大约第23页)和许多其他有趣的信息的图表,请参见What Every Programmer Should Know About Memory – PDF.

基本上 – 编写代码来访问尽可能小的内存(即类很小,而不是太多),并尝试确保紧密循环在该内存的非常小的子集上运行.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...