//想测试一下malloc的时间,发现malloc相同大小的前提下,malloc一次的时间比循环进行malloc的时间更长
######2. 问题相关代码,请勿粘贴截图
//单次malloc
double t11,t22,t33;
gettimeofday(&tv,NULL);
t11 = tv.tv_sec*1000*1000 + tv.tv_usec;
t1->alloc(200000);//对malloc进行的封装
t1->dispose();//free的封装
gettimeofday(&tv,NULL);
t22 = tv.tv_sec*1000*1000 + tv.tv_usec;
t33=t22-t11;
printf("time:%f-----(us)\n",t33);
循环alloc就是把这段代码放在循环中
######.3. 运行结果及报错内容
time:224.000000-----(us)//单次运行时间
time:173.000000-----(us)//循环,第一次分配
time:14.000000-----(us)//第二次及以后的时间都在14us左右
######为什么呢?
malloc实现原理大概是先从系统中分配一大段内存,再从一大段内存中分配一小段内存,如果已有就直接分配一小段内存
所以多次分配时后面几次分配都会比较快
你循环的代码在哪呢,放出来看看
你肯定是赋值赋错了
不符合常理呀