我有这样的事情:
clock_t start, end;
start=clock();
something_else();
end=clock();
printf("\nClock cycles are: %d - %d\n",start,end);
而且我总是得到“时钟周期为:0-0”的输出
知道为什么会这样吗?
(仅给出一点点细节,something_else()函数使用蒙哥马利表示法执行从左到右的求幂运算,而且我不确定不确定something_else()函数确实花费了一些不可忽略的时间。)
这是在Linux上。uname -a的结果是:
Linux snowy.*****.ac.uk 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
clock
该功能不测量CPU时钟周期。
C说:clock
“ 从实现定义的仅与程序调用有关的时代开始,就将 实现的最佳近似 返回到程序所使用的处理器时间。”
如果在两次连续clock
调用之间,您编程的时间少于该clock
函数的一个单位的时间,则可以得到0
。
POSIX clock
将统一定义CLOCKS_PER_SEC
为1000000(然后统一为1微秒)。
http://pubs.opengroup.org/onlinepubs/009604499/functions/clock.html
要测量x86 / x64中的时钟周期,可以使用内联汇编来获取CPU时间戳计数器寄存器的时钟计数rdtsc
。
问题内容: 这是我在Java中看到的,这使我感到困惑。 退货 同样,并且是不相等的。 问题答案: 正如其他人所说的那样,对 int 值求值,该值被提升为a 。 要获得预期的结果,请在常量后缀后缀,以表明应将其视为,即。
问题内容: 为什么以下返回0? 问题答案: 月份从0(一月)到11(十二月)进行编号。 参考:
问题内容: 这是简单的代码,我没有得到设置位图的结果,而是得到了null。谁能告诉我我在哪里犯错了? 更新 好的,所以我无法像我想的那样将文本转换为图像。这样呢 这会创建位图吗? 问题答案: 从文档中: 返回 解码的位图;如果无法解码图像,则 返回 null。 字符串“ test”中涉及的字节不是有效的位图,对吗? 如果将文本“ test”保存在名为or 等的文件中,并试图在Windows中打开它
问题内容: 为什么要用Python返回? 我如何获得改组后的值而不是? 问题答案: 更改列表 到位 。 在原位更改结构的Python API方法通常返回,而不是修改后的数据结构。 如果要基于现有列表创建 新的 随机混排列表,并按顺序保留现有列表,则可以使用输入的完整长度: 您还可以将with用于排序键: 但这会调用排序(O(NlogN)操作),而采样到输入长度仅需要O(N)操作(与所使用的过程相同
问题内容: 我正在使用a 检查我的哈希密码。我有PHP 5.5: 我上车了。我已经检查了posts的值和mysql user_password_hash返回。 我不知道为什么它返回假 有任何想法吗? 问题答案: 手册中的列长度可能是问题所在: 建议将结果存储在可扩展超过60个字符的数据库列中(255个字符是一个不错的选择)。 链接
问题内容: 我已经存储了在该数据库中插入并插入记录的过程。我想获取最后插入的记录的ID。返回NULL并返回正确的ID,为什么会发生?如我所读,因此最好在表上有一些触发器的情况下使用。我可以使用吗?不论触发器如何,它是否都在表的范围内返回ID? 那么问题是什么以及使用什么呢? 已编辑 问题答案: 就像奥德(Oded)所说的那样,问题在于您在执行之前要先询问身份。 作为解决方案,最好尽可能地接近运行。