gpt4 book ai didi

c - 估计 "C language"代码块 : Is it possible? 的运行时间

转载 作者:行者123 更新时间:2023-11-30 14:46:51 25 4
gpt4 key购买 nike

我想在 C language 中编写一个函数这样它必须检查数百万个参数,如果所有参数都为 true,则函数也返回 true,否则返回 false。

但是,估计此操作的时间很重要,这意味着我们需要知道它需要多少毫秒。 (大概的时间就足够了。)我们需要知道这个时间才能知道该函数的吞吐量

注意:此参数是从文件本地读取的,我们使用普通计算机。

最佳答案

与其估计时间,不如测量时间。现代 CPU 架构执行的优化非常复杂,以至于 simple change in the data ordering could increase the running time of your function by a factor of six or more .

在您的情况下,运行实际的基准测试非常重要:您检查的所有参数都需要放置在内存中与实际程序中相同的位置,并且您的代码应该以相同的顺序检查它们。这样你就可以看到缓存的效果了。由于您的函数是全有或全无的,分支预测对您的代码几乎没有影响,因为在循环退出之前预测最多会失败一次。

由于您是从文件中读取参数,因此在测试程序中使用与您计划在实际程序中使用相同的 API 非常重要。根据平台的不同,I/O API 可能会在性能方面表现出显着差异,因此您的测试代码应该测试您计划在生产中使用的内容。

关于c - 估计 "C language"代码块 : Is it possible? 的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51909107/

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