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商城项目中,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性, 降低数据之间的耦合性,提高稳定性,下 ...
随机推荐
- SciTech-Health-Dental: 铸造冠+锤造冠
锤造冠: 锤造全冠是应用合金片经冲压而成的壳状全冠修复体.有无缝冠和焊接冠二种, 优点是制作简单方便. 焊接冠: 表面有焊缝,机械性能差,制作不便,已少用. 应用现代焊接与融接科技,能不能重振&quo ...
- Win11系统更新失败错误0x800f081f的问题
使用Windows11系统的电脑基地用户都知道,win11更新补丁漏洞是十分勤奋的,可以说每周都会更新一次,而不少用户在更新的时候却遇到一些问题,出现错误代码0x800f081f,导致更新失败.那么遇 ...
- 还在手写JSON调教大模型?.NET 9有新玩法
引言 .NET 9 迎来了一项备受期待的功能更新:对JSON Schema的原生支持.这一新增功能极大地简化了JSON Schema的生成与使用.JSON Schema作为一种描述JSON数据结构的标 ...
- unity判断点是否在长方体内部
using UnityEngine; public class CubeCheck : MonoBehaviour { // 长方体的位置.旋转和尺寸 public Vector3 position ...
- ILRuntime作者林若峰分享:优化 Dots URP 性能优化 (干货满满)
[转载] 地址:https://www.gameres.com/877050.html 视频:https://www.bilibili.com/video/BV1ca4y1W7wN 从Unity201 ...
- 3、rt-thread学习-编译项目-使用scons自动生成工程
1.编译项目,主要用到env集成的构建工具scons,scons有两个很实用的功能. 第一个功能是,scons可以通过读取rt-thread的配置文件,也就 是rtconfig.h文件,自动生成iar ...
- 【攻防世界】Training-Stegano-1
1. 首先下载附件,解压出来之后得到的是一个bmp图片,首先放进Stegsolve中,但未见有用信息. 2. 然后放进010 Editor或者Winhex中,结果怎么着?发现了一段passwd:ste ...
- React Context 与 Zustand Store 集成方案
注:本文结合本人真实项目实践经验,经过 AI 润色. 引言 在现代 React 应用开发中,状态管理一直是开发者面临的核心挑战之一.虽然 Redux 曾是主流解决方案,但其繁琐的样板代码让许多开发者望 ...
- Vue实现登陆时token存放到Vuex
一.Vue实现登陆时token存放到Vuex 1.登录页面 <template> <div> <h1>登录</h1> {{ $store.state.t ...
- 什么情况下会出现full gc,什么时候对象会进入老年代?
以下是一些会出现Full GC的情况以及对象进入老年代的条件: 出现Full GC的情况 老年代空间不足:当老年代中剩余空间无法满足新对象的分配需求时,就会触发Full GC,以回收老年代中的垃圾对象 ...