微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

窗口 – 什么是工作集?

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

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

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

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

原文地址:https://www.jb51.cc/windows/371053.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐