免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: xxfihm
打印 上一主题 下一主题

[C++] 请假下:关于大块内存的分配 [复制链接]

论坛徽章:
11
巨蟹座
日期:2013-12-23 11:12:14双子座
日期:2014-08-28 09:14:55子鼠
日期:2014-07-25 16:21:22摩羯座
日期:2014-07-23 15:17:47摩羯座
日期:2014-05-30 13:09:05午马
日期:2014-04-30 18:10:00天秤座
日期:2014-04-25 12:12:00申猴
日期:2014-04-22 11:30:15午马
日期:2014-03-07 16:06:40辰龙
日期:2013-12-25 18:36:00摩羯座
日期:2014-09-02 17:00:55
11 [报告]
发表于 2014-03-09 14:02 |只看该作者
本帖最后由 Susake_ 于 2014-03-09 14:16 编辑

回复 9# 幻の上帝

前面我说的都是凭感觉,莫见怪!:wink:
以下是我测试的结果
编译器版本Codeblocks

   
编译器版本VS2013

测试代码如下
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <time.h>

  4. #define buffer_n 64*1024

  5. int n_arr2[buffer_n];

  6. void test_1()
  7. {
  8.         int n_arr1[buffer_n], i;
  9.         for(i = 0; i < buffer_n; i++)
  10.             n_arr1[i] = i;
  11. }

  12. void test_2()
  13. {
  14.     int i;
  15.     for(i = 0; i < buffer_n; i++)
  16.             n_arr2[i] = i;
  17. }

  18. int main(int argc, char *argv[])
  19. {
  20.         printf("%.5f\n", (double)clock() / CLOCKS_PER_SEC);

  21.         Sleep(1000);
  22.         test_1();
  23.         printf("%.5lf\n", (double)clock() / CLOCKS_PER_SEC);

  24.         Sleep(1000);
  25.         test_2();
  26.         printf("%.5lf\n", (double)clock() / CLOCKS_PER_SEC);

  27.         return 0;
  28. }
复制代码

论坛徽章:
0
12 [报告]
发表于 2014-03-11 13:22 |只看该作者
回复 11# Susake_

Codeblocks什么时候出编译器了。
环境呢?优化选项呢?

渣Pentium Win7 x64 gcc -O0直接试了几次都没区别。
0.00000
1.04500
2.04500

0.00000
1.00000
2.00000

0.00000
1.00100
2.00100

0.00000
1.00000
2.00000

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
13 [报告]
发表于 2014-03-11 20:36 |只看该作者
栈上搞定的肯定是栈快喽。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP