我一直在阅读维基百科的日K编程语言的文章,这是我所看到的:

  

的解释器和语言的紧凑语法的小尺寸使得能够对于K应用到处理器的一级高速缓存内完全容纳。

我感兴趣。怎么可能有L1高速缓存整个程序?说,CPU拥有256KB L1缓存。说我的计划是比少的方式,它需要的内存非常少量的(比方说,只是调用栈和这样)。比方说,它不需要任何库(不过,如果一个程序是一个操作系统,它需要包括KERNEL32.DLL或其他)。并且不OS自动分配用于任何程序一些最小存储器(当然,可执行代码和堆栈和堆)?

感谢您。

有帮助吗?

解决方案

我觉得他们说的是不是整个程序中的L1高速缓存配合,但所有运行的大部分时间的代码适合在L1缓存。

是的,OS分配很多其他的结构,但这些都是很少打够没有关系。

当然,这都是猜测 - 我一无所知“K”的语言

其他提示

相信他们说话到的优点是,主要执行代码将适合在L1高速缓存;不管内存分配给程序。一旦K个应用程序被加载,如果不触碰内存则没有,如果它在性能方面的已分配(即完全的L1高速缓存作为PERF利益)关系。

您混淆所有程序代码与最频繁执行的代码。

有关的解释语言解释器核心肯定是最频繁执行的代码之间。具有最频繁执行的代码高速缓存中加快执行相同的方式,在高速缓存中具有最频繁访问的数据一样。

关键部分是“最常” - 这是没有必要把所有的代码/缓存的数据看显著加速

在解释器运行作为由OS管理的正常程序。该解释的程序解释器的存储器空间中运行,在所述数据段。多个K程序可以轻松地放进L1缓存彻底,即使整个解释可能不会。主解释程序循环可能将适合虽然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top