gpt4 book ai didi

c - 测量代码的吞吐量和延迟

转载 作者:行者123 更新时间:2023-11-30 15:07:16 26 4
gpt4 key购买 nike

我为 LinkedList 编写了多线程 C 代码。我正在尝试测量代码的吞吐量和延迟。为了测量吞吐量,这是我的代码

clock_t begin = clock();    
pthread_create (&t1, NULL, thread1, (void *)head);
pthread_create (&t2, NULL, thread2, (void *)head);
pthread_create (&t3, NULL, thread3, (void *)head);
pthread_create (&t4, NULL, thread4, (void *)head);
pthread_join (t1, NULL);
pthread_join (t2, NULL);
pthread_join (t3, NULL);
pthread_join (t4, NULL);
clock_t end = clock();

对于延迟,如下

void * thread1(void * args)

{
clock_t begin = clock();

/* LinkedList Operations */

clock_t begin = clock();
}

我是否正确测量了这两个参数,还是有其他方法可以做到这一点?

提前致谢!

最佳答案

我个人的偏好是这样的:

struct timespec start, end;
clock_gettime(CLOCK_MONOTONIC_RAW, &start);
sleep(1);
clock_gettime(CLOCK_MONOTONIC_RAW, &end);
const uint64_t ns = (end.tv_sec * 1000000000 + end.tv_nsec) - (start.tv_sec * 1000000000 + start.tv_nsec);
printf("elapsed %7.02f ms (%lu ns)\n", ns / 1000000.0, ns);

关于c - 测量代码的吞吐量和延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361840/

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