Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有C函数的计时(成本)表?_C_Optimization_Performance - Fatal编程技术网

是否有C函数的计时(成本)表?

是否有C函数的计时(成本)表?,c,optimization,performance,C,Optimization,Performance,对于x86-32 gcc实现来说,这取决于具体情况,但这可能会因平台、硬件、操作系统、功能和功能输入的不同而有很大差异。一般的答案是否定的。这也取决于你所说的时间是什么意思;还有执行时间和时钟时间等 确定某件事情需要多长时间的最佳方法是尽可能地运行它。如果性能是一个问题,那么分析和完善将是您的最佳选择 某些实时系统会限制操作所需的时间,但这并不特定于C。这取决于具体情况,但可能会因平台、硬件、操作系统、功能和功能输入的不同而有很大差异。一般的答案是否定的。这也取决于你所说的时间是什么意思;还有执

对于x86-32 gcc实现来说,这取决于具体情况,但这可能会因平台、硬件、操作系统、功能和功能输入的不同而有很大差异。一般的答案是否定的。这也取决于你所说的时间是什么意思;还有执行时间和时钟时间等

确定某件事情需要多长时间的最佳方法是尽可能地运行它。如果性能是一个问题,那么分析和完善将是您的最佳选择


某些实时系统会限制操作所需的时间,但这并不特定于C。

这取决于具体情况,但可能会因平台、硬件、操作系统、功能和功能输入的不同而有很大差异。一般的答案是否定的。这也取决于你所说的时间是什么意思;还有执行时间和时钟时间等

确定某件事情需要多长时间的最佳方法是尽可能地运行它。如果性能是一个问题,那么分析和完善将是您的最佳选择


某些实时系统会限制操作所需的时间,但这并不特定于C。

考虑到现代C编译器的疯狂优化,我认为您会发现计时非常依赖于具体情况。在一种情况下,缓慢的操作可能会被优化为更快的操作,或者编译器可能能够使用更快的8位或16位版本的同一条指令,等等。

考虑到现代C编译器疯狂地优化,我想你会发现计时非常依赖于具体情况。在某种情况下,缓慢的操作可能会被优化为更快的操作,或者编译器可能会使用同一指令的更快的8位或16位版本,等等。

我认为这样的事情真的不可能。当你考虑同一个程序在不同参数时的时间差异。例如,假设costOf函数实现了您想要的功能,那么memcpy或printf的成本会更高。两者都有


我认为这样的事情真的不可能。当你考虑同一个程序在不同参数时的时间差异。例如,假设costOf函数实现了您想要的功能,那么memcpy或printf的成本会更高。两者都有


IMHO,这是一个微观优化,在执行所有分析之前应该忽略它。通常,库例程不是执行时间的消费者,而是资源或程序员创建的函数

我还建议花更多的时间在程序的质量和健壮性上,而不是担心微观优化。随着计算能力的提高和内存大小的增加,对客户来说,大小和执行时间比质量和健壮性更重要。客户愿意等待产生正确输出或正确执行所有需求且不会崩溃的程序,而不是要求出现错误或系统崩溃的快速程序

为了回答您的问题,正如其他人所说,库函数的执行时间取决于库开发人员、平台硬件和操作系统。一些平台可以更快地执行浮点指令,或者与整数运算的执行时间相等。一些库将把功能委托给操作系统,而另一些库则将自己的功能打包。有些函数速度较慢,因为它们是为在各种平台上工作而编写的,而其他库中的相同函数速度较快,因为它们是针对特定平台定制的


使用您需要的库函数,不要担心它们的速度。使用第三方测试的库,而不是重写自己的代码。如果程序执行非常缓慢,请查看设计和配置文件。也许您可以通过使用面向数据的设计而不是面向对象的设计或过程编程来获得更快的速度。再次强调,在学习如何更高效地生产软件的同时,将精力集中在开发高质量和健壮的代码上。

IMHO,这是一个微观优化,在执行所有评测之前,应该忽略它。通常,库例程不是执行时间的消费者,而是资源或程序员创建的函数

我还建议花更多的时间在程序的质量和健壮性上,而不是担心微观优化。随着计算能力的提高和内存大小的增加,对客户来说,大小和执行时间比质量和健壮性更重要。客户愿意等待产生正确输出或正确执行所有需求且不会崩溃的程序,而不是要求出现错误或系统崩溃的快速程序

为了回答您的问题,正如其他人所说,库函数的执行时间取决于l 库开发人员、平台硬件和操作系统。一些平台可以更快地执行浮点指令,或者与整数运算的执行时间相等。一些库将把功能委托给操作系统,而另一些库则将自己的功能打包。有些函数速度较慢,因为它们是为在各种平台上工作而编写的,而其他库中的相同函数速度较快,因为它们是针对特定平台定制的


使用您需要的库函数,不要担心它们的速度。使用第三方测试的库,而不是重写自己的代码。如果程序执行非常缓慢,请查看设计和配置文件。也许您可以通过使用面向数据的设计而不是面向对象的设计或过程编程来获得更快的速度。同样,在学习如何更高效地生产软件的同时,将精力集中在开发高质量和健壮的代码上。

哪些C函数特别重要?在分析调用图时,您是否在寻找参考资料?我认为这样的事情不可能存在。哪个C函数特别重要?20-30个最常见的操作。算术、赋值、函数调用、memcpy、malloc和其他,您可能和我一样经常使用它们。我多次看到其他语言的此类表格,并惊讶地发现C语言很难找到它。分析和编译器优化是很好的,但成本将提供更多的可能性和信息要考虑。C的功能是什么?在分析调用图时,你在寻找什么可以参考的东西吗?我认为这样的事情不可能存在。哪个C函数特别重要?20-30个最常见的操作。算术、赋值、函数调用、memcpy、malloc和其他,您可能和我一样经常使用它们。我多次看到其他语言的此类表格,并惊讶地发现C语言很难找到它。分析和编译器优化都很好,但是成本会提供更多的可能性和信息来考虑。我在OP上意味着成本的Bigo表示。@ PASI SavaLaNeNEN——但是OP要求X86-32 GCC实现。我在OP上打赌意味着Bigo的成本表示。@ PASI SavaLaNeNEN——但是OP要求X86-32 GCC实现。+ 1用于情境依赖。尽管如此,原语的相对计时仍然是一个很好的参考,这里的.NET CLR:+1表示情景依赖。尽管如此,原语的相对计时还是一个很好的参考,就像这里的.NET CLR一样:对不起,但是优化在哪里-微或其他?对不起,但是优化在哪里-微或其他?
costOf(printf("Hello World")) > costOf(memcpy(a, b, 4))
costOf(printf("Hello World")) < costOf(memcpy(a, b, 4 * 1024 * 1024 * 1024))