相关疑难解决方法(0)

用C测量时间

我正在尝试用C(矩阵乘法)测量一些活动,并注意到我应该做这样的事情:

clock_t start = clock();
sleep(3);
clock_t end = clock();
double elapsed_time = (end - start)/(double)CLOCKS_PER_SEC;
printf("Elapsed time: %.2f.\n", elapsed_time);
Run Code Online (Sandbox Code Playgroud)

输出是:

Elapsed time: 0.00.
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c time matrix multiplying

18
推荐指数
2
解决办法
3万
查看次数

优化乘法和加法

我正在使用C,并且我有两个非负整数n和m(均> = 0,n <500)。我需要形成产品

n*(n+1)/2 + m
Run Code Online (Sandbox Code Playgroud)

这将需要数亿次,所以我想尽可能地优化它。我当前的实现是:

inline int func(const int n, const int m) { return ( (n*(n+1) >> 1) + m); }
Run Code Online (Sandbox Code Playgroud)

使用inline>> 1进行除以2。还有其他方法可以加快计算速度吗?

c optimization

9
推荐指数
3
解决办法
275
查看次数

标签 统计

c ×2

matrix ×1

multiplying ×1

optimization ×1

time ×1