optimization - 将代码保存在 L1 缓存中

标签 optimization assembly caching cpu k

我一直在阅读Wikipedia's article on K programming language这就是我所看到的:

The small size of the interpreter and compact syntax of the language makes it possible for K applications to fit entirely within the level 1 cache of the processor.



我很好奇。如何将整个程序放在 L1 缓存中?比如说,CPU 有 256kb 的 L1 缓存。假设我的程序比这少得多,它只需要很少的内存(例如,仅用于调用堆栈等)。比如说,它不需要任何库(尽管如果程序是用于操作系统的,则需要包含 kernel32.dll 或其他内容)。操作系统不会自动为任何程序分配一些最小的内存(好吧,对于可执行代码以及堆栈和堆)?

谢谢你。

最佳答案

我认为他们所说的并不是整个程序都适合 L1 缓存,而是大部分时间运行的所有代码都适合 L1 缓存。

是的,操作系统分配了许多其他结构,但这些结构很少被击中,以至于无关紧要。

当然,这都是猜测——我对“K”语言一无所知。

关于optimization - 将代码保存在 L1 缓存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1040098/

相关文章:

c++ - 我可以选择性地(强制)内联函数吗?

assembly - Tasm 找不到包含文件

redirect - 带有缓存响应 header 的 IIS 重定向

caching - 与 etag 和多服务器设置保持一致吗?

c# - 为什么 x86 JIT 比 x64 更聪明?

python - 清除 Pyramid 中的设置工具缓存?

image - 在Matlab中优化一个简单的函数(直方图距离)

algorithm - 杀死每个弓箭手所需的最少火球数量?

algorithm - 通过在不超过特定组大小的情况下合并组来最小化组的数量

c - 为什么 GCC 包含一个 "empty"XOR