`
testcs_dn
  • 浏览: 103725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

C/C++ For循环语句的效率测试优化及运行时错误:Stack Overflow的解决办法

 
阅读更多

C/C++ For循环语句的效率测试优化及运行时错误:Stack Overflow的解决办法


在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的
循环放在最外层,以减少CPU跨切循环层的次数。


使用以下代码对嵌套For循环的效率进行测试验证:

// For嵌套性能.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>   
#include <time.h>   
using namespace std;  

int main(void)  
{  
	clock_t cstart,cends;  
	
	cstart=clock();
	
	long sum1 =0;
	long a1[5][10000000];
	
	for(long i = 0; i < 5; i++)                
	{
		for(long j = 0; j < 10000000; j++)
		{
			sum1 += a1[i][j];
		}
	}
	
	cout << "sum1=:" << sum1 << endl;
	
	cends=clock();  
	
	cout << "Clock时间差:" << cends-cstart << endl;  

	/////////////////////////////////////////////////////////////////
	cstart=clock();
	
	long sum =0;
	long a[10000000][5];

	for(i = 0; i < 10000000; i++)                
	{
		for(long j = 0; j < 5; j++)
		{
			sum += a[i][j];
		}
	}
	
	cout << "sum=:" << sum << endl;
	
	cends=clock();  
	
	cout << "Clock时间差:" << cends-cstart << endl;  
	
	//////////////////////////////////////////////////////////////

	
	system("pause");  

	return 0;  
}  

运行结果:



以上代码在Windows Server 2008 x64 系统上编译通过,

IDE为:Microsoft Visual c++ sp6

可以编译通过,但是运行会出现错误:



运行时错误:Stack Overflow的解决办法:




分享到:
评论

相关推荐

    Stack Overflow Developer Survey 2016 Results 翻译

    Stack Overflow Developer Survey 2016 Results Stack Overflow开发者调查报告 印象笔记版,无印象笔记请别下载

    关于缓冲区(Stack overflow)溢出的资料

    关于缓冲区(Stack overflow)溢出的资料

    Stack Overflow创始人分享:如何促使团队紧密协作

    知名技术博客作家、Stack Overflow创始人Jeff Atwood有三十多年的职业编程经验,通过他的切身经历分享,帮助读者成长为高效能程序员。 会议是浪费工作时间的最佳去处 今天你开了多少个会?这个星期呢?这个月呢?再...

    C标准库源代码(学习C/C++必备)

    C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源...

    tracestack:在 Stack Overflow 中搜索您最近的错误消息

    在 Stack Overflow 中搜索您最近的错误消息。 您可以使用安装软件包,如下所示: # install.packages("devtools") devtools::install_github("dgrtwo/tracestack") 加载它 library(tracestack) 然后在收到错误...

    Stack Overflow小数据集

    Stack Overflow小数据集(含问题和标签,训练集10万条,验证集3万条,测试集2万条,tsv格式)。

    C++栈类模板

    C++栈类模板 template class Stack { public: Stack(void); void Push(const T &item;); //将元素item压入栈 T Pop(void); //将栈顶元素弹出栈 void ClearStack(void); T Peek(void)const; //访问栈顶元素 ...

    Stack Overflow.txt

    Stack Overflow

    jam:Stack Overflow 职业的模式 UI 库

    欢迎使用 Jam, Stack Overflow的模式库。 这种设计框架可以让我们的团队为更快的速度提供视觉统一、方向和语法方向。 它是由 、 和。 它由 Stack Overflow Design 在 Stack Overflow Careers 开发团队的支持下维护...

    C语言头文件 STACK

    C语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 ...

    stack_overflow_exec

    软件漏洞分析入门 相关附件 stack_overflow_exec

    从Stack Overflow上复制粘贴编程方法精要

    你最需阅读的一本编程书籍(其实编程书留下这本就够了!)

    C++编写的Stack模板类

    这是一个使用C++封装的Stack模板类,在VC++6.0环境下测试通过。栈的元素类型支持int,float,double,char也支持字符串。请多指正。

    基于深度学习的Stack Overflow问题帖分类方法.pdf

    基于深度学习的Stack Overflow问题帖分类方法.pdf

    C / C++ 各种 面试题 笔试题

    一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, ...

    chameleon:示例 Stack Overflow 用户声誉分数

    该项目已被取代,不太可能看到更多改进或错误修正。变色龙Chameleon 是一个从采样声誉的简单服务。 它从 MongoDB 集合中获取用户列表,收集这些用户的信誉分数,并将它们保存回 MongoDB 集合。先决条件 ,在您的本地...

    Borland C++3.1 神话般的经典开发利器

    改名为Borland C++for Windows, 2. 3.1版配合Windows 3.1版,增加多媒体(Multi-Media)、笔(Pen)和MCI (Media Control Interface)之控制接口。 3. 新增Win Spector I具程序,此工具程序是当Windows程序发生General ...

    Stack Overflow Annual Developer Survey.zip

    Stack Overflow年度开发者调查(2011-2020年) https://insights.stackoverflow.com/survey/

    Stacks-Icons:Stack Overflow共享图标集的创作工具

    图示介绍此存储库提供了用于构建Stack Overflow共享图标库的创作工具。 这是我们的一般工作流程: 打开以修改现有图标,或添加一个新图标。 请密切注意新添加的画板的名称。 这将确定您的SVG的文件名。 将每个画板/...

    用c++模版实现的stack类

    用c++模版实现的stack类,供初学者学习。 template ,int N&gt; class Stack { public: Stack(); ~Stack(); void push(T t); T pop(); bool isEmpty(); private: T *m_pT; const int m_maxSize; ...

Global site tag (gtag.js) - Google Analytics