gpt4 book ai didi

c - 尝试在 C 中的缓存测试代码下

转载 作者:行者123 更新时间:2023-11-30 16:35:10 25 4
gpt4 key购买 nike

我试图理解以下代码及其准确打印的内容:

https://ideone.com/ddPVRe

           printf("Size (bytes):%9d, Stride (bytes):%4d, read+write:%6.2f ns\n",
csize*sizeof(int), stride*sizeof(int),
(double) sec*1e9/(steps*SAMPLE*stride*((limit-1)/stride+1)));

它停止在大小:67108864,其中 R/W 为 11.82 ns。

enter image description here

据我所知,它基本上打印了访问数组 x 所需的时间。有人可以帮我分解一下吗?

最佳答案

您的代码使用一些格式化功能打印 3 个值:

  1. 大小(字节):%9d:这会打印 %d 值,它是一个十进制整数。中间的 9 表示它至少打印 9 个字符。如果数字少于 9 个,则用空格填充。该值取自第二个 printf 参数 csize*sizeof(int)。正如@Some程序员家伙注意到的,这个操作返回一个无符号数字,所以也许你可以改变%u中的%d
  2. 步幅(字节):%4d:与之前相同,但最小长度只有 4 个字符
  3. read+write:%6.2f ns:打印浮点值,最小长度为6个字符。 .2 是精度,即小点后的位数。
  4. \n:换行特殊字符

请引用:http://www.cplusplus.com/reference/cstdio/printf/好的,是cpp,但是比经典的手册页更清晰

关于c - 尝试在 C 中的缓存测试代码下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49027336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com