“工作集”是“当前算法正在使用的内存部分”的缩写,由cpu刚刚访问的内存部分决定.这是完全自动的.如果正在处理数组并将结果存储在表中,则数组和表是您的工作集.
原文链接:https://www.f2er.com/windows/371053.html这是因为cpu会自动将访问的内存存储在缓存中,靠近处理器.工作集是描述要存储的内存的好方法.如果它足够小,它们都可以适应缓存,并且您的算法将运行得非常快.在操作系统级别上,内核必须告诉cpu,每次访问新页面(通常为4k大小)时,您的应用程序正在使用的物理内存(解析虚拟地址),您也希望避免这样的打击尽可能.
有关算法性能与工作集大小(大约第23页)和许多其他有趣的信息的图表,请参见What Every Programmer Should Know About Memory – PDF.
基本上 – 编写代码来访问尽可能小的内存(即类很小,而不是太多),并尝试确保紧密循环在该内存的非常小的子集上运行.