[问题] memset和for 初始化资料速度比较

楼主: MashiroKinji (MashiroKinji)   2015-02-16 05:27:49
先贴上代码
使用编译器是Visual C++
电脑32位元
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
#include <time.h>
#define len 1000
#define times 10000
#define type long long
type c[len][len];
int main()
{
int timer[2];
timer[0] = clock();
int i = times, j = times;
while (i
作者: dritchie (卍~迈斯纳效应~卍)   2015-02-16 08:01:00
long long可以视为两个int绑在同一个变量上
作者: wenyonba (射后不理很XX啊!!!!)   2015-02-16 08:02:00
我怎么觉得你第二个while应该会永远跑不完...
作者: dritchie (卍~迈斯纳效应~卍)   2015-02-16 08:02:00
所以long long=0其实内部是两次assignment
作者: wenyonba (射后不理很XX啊!!!!)   2015-02-16 08:03:00
喔喔,你的 for 里面又 define 了 j,sorry
作者: dritchie (卍~迈斯纳效应~卍)   2015-02-16 08:04:00
剩下的读书吧 "程式设计师的自我修养"
作者: wenyonba (射后不理很XX啊!!!!)   2015-02-16 08:05:00
这样宣告看起来好花啊...
作者: ji2my (hkt)   2015-02-16 11:48:00
define请用大写
作者: littleshan (我要加入剑道社!)   2015-02-16 14:00:00
1. 你有开最佳化吗?我用 gcc -O3 结果就和你相反了2. 宣告为 local 很可能会 stack overflow3. 使用memset填非0值很可能造成undefined behavior4. long long 不一定是两个 int
作者: lintsu (真闇の张钧法)   2015-02-16 18:10:00
要下最佳化参数在实验
楼主: MashiroKinji (MashiroKinji)   2015-02-16 20:48:00
那么如果要清0还是建议用memset吗?
作者: akasan (KITO)   2015-02-17 00:59:00
用 memset, compiler 知道你在干麻可以翻出更好的东西某些情况下你自己用 for 去清成 0, compiler 也认的出来

Links booklink

Contact Us: admin [ a t ] ucptt.com