查找缓存块大小

发布于 2024-10-26 08:33:17 字数 45 浏览 6 评论 0原文

如何以编程方式(使用 C++)或其他方式在 Ubuntu 中找到缓存块大小?

How do I find the cache block size in Ubuntu, programmatically (with C++) or otherwise?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

迷路的信 2024-11-02 08:33:17

你可以在/proc/cpuinfo中找到它; cache size 表示总大小,cache_alignment 表示块大小。

You can find it in /proc/cpuinfo; cache size for the total size, and cache_alignment for the block size.

我的鱼塘能养鲲 2024-11-02 08:33:17

一种方法是用随机值填充 std::vector 或普通数组,然后执行一些简单的操作,例如对循环中的每个元素求平方。
然后测量执行时间作为向量长度的函数。
一旦向量不适合缓存,您将非常清楚地看到执行时间的跳跃。

One way is to fill an std::vector or just a plain array with random values, and do something simple, e.g. square each element in a loop.
Then measure the execution time as a function of the vector length.
You'll very clearly see a jump in the exec time once your vector does not fit into the cache.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文