fun2比fun3稍快点
运行环境: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稍快点的更多相关文章
- AppCan JSSDK模块扩展
1. 从源码开始: 我们先看源码的8188行到9525行: window.appcan && appcan.define('window',function($,export ...
- C输入输出函数与缓冲区
#转 对C语言输入输出流和缓冲区的深入理解C语言缓冲区(缓存)详解缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的 ...
- C++命名空间学习笔记
1 模块化和界面 任何实际程序都是有一些部分组成的.通过将程序进行模块化可以使我们的程序更加清晰,有助于多人合作和维护. 将一个程序进行模块化以后,当其中一个模块调用另一个模块时,它不需要知道其具体实 ...
- C++笔记008:C++对C的扩展——命名空间 namespace基础
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...
- 浅谈tornado项目应用设计
一.预备知识 最近开始尝试做一些tornado商城项目,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性,降低数据之间的耦合性,提 ...
- 浅析selenium的PageFactory模式
前面的文章介绍了selenium的PO模式,见文章:http://www.cnblogs.com/qiaoyeye/p/5220827.html.下面介绍一下PageFactory模式. 1.首先介绍 ...
- php面向对象编程(三)
<? class Person { // 下面是人的成员属性 var $name; // 人的名子 var $sex; // 人的性别 var $age; // 人的年龄 // 定义一个构造方法 ...
- PHP 使用 debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹
<?php /* 使用debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹 */ function fun1() { print "Hel ...
- HDU 5063 Operation the Sequence(仔细审题)
http://acm.hdu.edu.cn/showproblem.php?pid=5063 题目大意: 题目意思还是比较简单.所以就不多少了.注意这句话,对解题有帮助. Type4: Q i que ...
- Tornado实战项目(伪JD商城)
预备知识 在之前tornado商城项目中,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性, 降低数据之间的耦合性,提高稳定性,下 ...
随机推荐
- ICEE-MCU-Bluetooth+Zigbee-PIC32CX-BZ2 and WBZ451 Curiosity Development Board
Zigbee+Bluetooth: PIC32CX-BZ2 and WBZ451 Curiosity Development Board: https://www.microchip.com/en-u ...
- P4795 [BalticOI 2018] 基因工程 题解
题目传送门:Click. 蒟蒻看见这道题,想了足足一个小时,过后顿有所悟,故作此篇. 首先,看到题目,光是数据就已经达到了 \(\operatorname{O}(nm)\) 的级别,再看一看数据范围: ...
- 2022年12月最新出炉的实时区县乡镇街道geojson数据Echarts地图数据乡村联动数据下载
发现个可以免费下载全国 geojson 数据的网站,推荐一下.支持全国.省级.市级.区/县级.街道/乡镇级以及乡村六级的联动数据 geojson 数据下载地址:https://geojson.hxkj ...
- 腾讯云CentOS 8安装及配置 MySQL
腾讯云CentOS 8安装及配置 MySQL 自己安装了两天没成功,直呼腾讯云牛逼 手动搭建 LNMP 环境(CentOS 8) 执行以下命令,安装 MySQL. dnf -y install @my ...
- Kubernetes禁用Swap的深度解析:资源控制、性能与稳定性的基石
1. Kubernetes为何强制禁用Swap?核心设计逻辑 Kubernetes的核心目标是将计算资源(CPU/内存)的调度和管理精确化.自动化.Swap的引入会破坏这一设计原则,具体原因 ...
- 利用Amazon Bedrock生成AI增强设备维护建议
在制造业中,服务报告中的宝贵见解往往未被充分利用.本文探讨AWS客户如何构建自动化解决方案:通过生成式AI实现海量报告的数字化处理与关键信息提取. 该方案采用Amazon Nova Pro(基于Ama ...
- apache的源代码编译安装
1.下载Apache安装包,下载地址http://httpd.apache.org/,我下载的是httpd-2.4.16,是最新的:然后对安装包进行解压,并进行初始化配置和编译安装: 编译命令: ./ ...
- Solon StateMachine 实现状态机使用示例详解
什么是状态机 状态机是计算机科学中的核心建模工具,用于描述对象在其生命周期内状态变化的逻辑模型.它通过定义有限状态集合.状态转移规则和触发事件,精确控制系统的行为逻辑. Solon StateMach ...
- python中设置cudnn作用理解
1.cudnn的简介 cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库.如果你要用GP ...
- Redis 缓存一致性:从“数据不一致”根源到解决方案全梳理
原文链接 前言 如果你开发了一个 Web 网站,前期业务逻辑比较简单,就是查数据库然后呈现到页面上,但是随着业务的发展,用户数量和 qps 越来越多,这时候你会发现网站访问越来越慢,于是你定位到是数据 ...