运行环境:WinXP VS2005(VC8)

核心代码:

#include <iostream>

using namespace std ;

#include <time.h>



#define WAN (10000)

const int iNum = WAN*WAN*3;





void fun2(int* p)

{

    for( int i = 0 ; i < iNum ; i+= 4  )

    {

        p[i] = i;

        p[i+1] = i+1;

        p[i+2] = i+2;

        p[i+3] = i+3 ;

    }

}



void fun3(int* p)

{

    for( int i = 0 ; i < iNum ; i+= 8 )

    {

        p[i] = i;

        p[i+1] = i+1;

        p[i+2] = i+2;

        p[i+3] = i+3 ;

        p[i+4] = i+4 ;

        p[i+5] = i+5 ;

        p[i+6] = i+6 ;

        p[i+7] = i+7 ;



    }

}



测试程序一:

void main()

{

    int * p = new int[iNum];

    int x1 = time(NULL);

    fun2(p);

    int x2 = time(NULL);

    fun3(p);

    int x3 = time(NULL);

    cout << (long)(x2-x1) << "秒 " << (long)(x3-x2) << "秒";

    delete [] p ;

}

五次的运行结果:

4,3

3,3

3,3

4,2

3,3



测试程序三(fun3在前,fun2在后):

2,3

2,4

2,3

3,3

2,3



总的来说fun3 比fun2快,但平均不到1秒。

fun2比fun3稍快点的更多相关文章

  1. AppCan JSSDK模块扩展

    1.      从源码开始: 我们先看源码的8188行到9525行: window.appcan && appcan.define('window',function($,export ...

  2. C输入输出函数与缓冲区

    #转 对C语言输入输出流和缓冲区的深入理解C语言缓冲区(缓存)详解缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的 ...

  3. C++命名空间学习笔记

    1 模块化和界面 任何实际程序都是有一些部分组成的.通过将程序进行模块化可以使我们的程序更加清晰,有助于多人合作和维护. 将一个程序进行模块化以后,当其中一个模块调用另一个模块时,它不需要知道其具体实 ...

  4. C++笔记008:C++对C的扩展——命名空间 namespace基础

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...

  5. 浅谈tornado项目应用设计

    一.预备知识 最近开始尝试做一些tornado商城项目,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性,降低数据之间的耦合性,提 ...

  6. 浅析selenium的PageFactory模式

    前面的文章介绍了selenium的PO模式,见文章:http://www.cnblogs.com/qiaoyeye/p/5220827.html.下面介绍一下PageFactory模式. 1.首先介绍 ...

  7. php面向对象编程(三)

    <? class Person { // 下面是人的成员属性 var $name; // 人的名子 var $sex; // 人的性别 var $age; // 人的年龄 // 定义一个构造方法 ...

  8. PHP 使用 debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹

    <?php /* 使用debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹 */ function fun1() { print "Hel ...

  9. HDU 5063 Operation the Sequence(仔细审题)

    http://acm.hdu.edu.cn/showproblem.php?pid=5063 题目大意: 题目意思还是比较简单.所以就不多少了.注意这句话,对解题有帮助. Type4: Q i que ...

  10. Tornado实战项目(伪JD商城)

    预备知识 在之前tornado商城项目中,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性, 降低数据之间的耦合性,提高稳定性,下 ...

随机推荐

  1. SciTech-Mathmatics-Analysis: important inequalities 重要的几个不等式: Trigonometry + Mean + Cauchy + Minkowski + Newton + Bernoulli + Chebyshev + Hölder

    Cauchy Inequality(柯西不等式): \(\large \begin{array}{rl} \\ | ax +by | &<= & \sqrt{a^2+b^2} \ ...

  2. flink 1.11.2 学习笔记(5)-lambda表达式的使用问题

    flink的api,提供了流畅的链式编程写法,写起来行云流水,感受一下: SingleOutputStreamOperator<Tuple3<String, Integer, String ...

  3. SQLAlchemy ORM与GraphQL的完美邂逅,如何让数据库操作变得如此简单?

    扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ SQLAlchemy ORM基础 ...

  4. 进阶篇:3.5)DFM-粉末冶金件设计

    本章目的:设计出符合粉末冶金工艺要求的零件.   1.基础阅读 ①进阶篇:1)DFMA方法的运用: ②需要一台FDM3d打印机:请查看 进阶篇:2)结构设计装备必备:   2.粉末冶金概念 大量的结构 ...

  5. Win11系统软件固定到开始菜单的方法

    很多电脑基地的用户使用了我们的Win11操作系统,觉得都说很不错,但是却不知道怎么把一些常用软件固定到开始菜单里面,其实方法还是很简单的,下面就和技术员小编一起来看看具体的操作方法吧. 在 Windo ...

  6. Win11纯净版电脑开机就死机到问题

    有电脑基地的用户说他升级更新win11纯净版系统,用了一段时间以后,不知道咋了,突然发现电脑开机就死机了,怎么都进不去系统,那这个问题要如何解决呢?其实,这可能是因为我们安装的应用程序出现冲突,或是驱 ...

  7. 云原生环境中的镜像兼容性(NFD项目)

    在电信.高性能或 AI 计算等必须高度可靠且满足严格性能标准的行业中,容器化应用通常需要特定的操作系统配置或硬件支持. 通常的做法是要求使用特定版本的内核.其配置.设备驱动程序或系统组件. 尽管存在开 ...

  8. 小程序轻松实现IM即时通讯多人聊天室

    IM多人聊天室功能简介 ZIM SDK 提供多人房间聊天功能,支持用户向房间内发送文本消息或自定义消息,实现了多人在线交流.同步分享. 多人房间聊天功能可应用于小班课或者会议室等场景,房间成员数量上限 ...

  9. 记一次 .NET 某汽车控制焊接软件 卡死分析

    一:背景 1. 讲故事 前些天有位朋友找到我,说他们开发的在客户工厂里的窗体程序出现了卡死情况,并且 Ctrl+C 也退不出来,自己分析了下也没找出是什么原因,后来在网络上就找到了我,让我帮忙看下怎么 ...

  10. 【QML image】如何添加图片到项目资源中

    1. 借助Qt 的资源系统 1.新建Qt项目 2.把所有图片放在一个文件夹中,将文件夹放在Qt项目目录下 3.选中项目--Add New--Qt--Qt Resource File--choose 4 ...