gpt4 book ai didi

C程序中特定函数经过的计算时间

转载 作者:行者123 更新时间:2023-12-02 22:27:12 25 4
gpt4 key购买 nike

我有一个代码,我想在其中计算两种排序算法合并排序和快速排序对 N 个数字进行排序所花费的时间,以微秒或更精确的速度计算。这样计算出来的两次我们就会输出到终端。代码(部分代码):

printf("THE LIST BEFORE SORTING IS(UNSORTED LIST):\n");
printlist(arr,n);
mergesort(extarr,0,n-1);
printf("THE LIST AFTER SORTING BY MERGE SORT IS(SORTED LIST):\n");
printlist(extarr,n);
quicksort(arr,0,n-1);
printf("THE LIST AFTER SORTING BY QUICK SORT IS(SORTED LIST):\n");
printlist(arr,n);

通过提供如何完成来帮助我。我已经通过将两个变量作为开始停止并将它们分别保持在函数调用的上方和下方来尝试 clock_t 但这根本没有帮助并且总是打印出它的差异为零.请建议一些其他方法或功能,请记住它在任何类型的操作系统中运行都没有问题。提前感谢您的帮助。

最佳答案

方法:1

要计算程序所用的总时间,您可以使用 linux 实用程序“time”。

    Lets your program name is test.cpp.
$g++ -o test test.cpp
$time ./test

Output will be like :
real 0m11.418s
user 0m0.004s
sys 0m0.004s

方法:2

您还可以使用 linux 分析方法“gprof”通过不同的函数查找时间。

首先你必须用“-pg”标志编译程序。

    $g++ -pg -o test test.cpp
$./test
$gprof test gmon.out

PS : gmon.out 是由 gprof 创建的默认文件

关于C程序中特定函数经过的计算时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791676/

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