for循环与while循环效率对比·5年以下编程经验必看C#】
for效率测试代码:
using System;
using System.Diagnostics;
namespace Action
{class Program{static void Main(string[] args){GC.Collect();//清理一下先Random ra = new Random();int count = 1000000;//100WDateTime start = DateTime.Now;for (int i = 0; i < count; i++){new String(""+i);}DateTime end = DateTime.Now;double usedMemory = Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0;Console.WriteLine("耗时:" + (end - start).TotalMilliseconds + "毫秒");Console.WriteLine("消耗内存:" + usedMemory + "M");}}
}
100W次消耗时间50.88ms,消耗内存19.50M
while效率测试代码:
using System;
using System.Diagnostics;
namespace Action
{class Program{static void Main(string[] args){GC.Collect();//清理一下先Random ra = new Random();int count = 1000000;//100WDateTime start = DateTime.Now;int i = 0;while (i < count){new String("" + i);i++;}DateTime end = DateTime.Now;double usedMemory = Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0;Console.WriteLine("耗时:" + (end - start).TotalMilliseconds + "毫秒");Console.WriteLine("消耗内存:" + usedMemory + "M");}}
}
100W次消耗时间50.92ms,消耗内存19.59M
编码文件对比:
for:
while:
由于不能编入太多文字就只能截图了。
总结:
1、for循环与while循环效率测试上看差不多。
2、从编码上看,编译的exe文件完全相同,应该字节码是一样一样的。
3、在C#中两种循环效果相同。
单独方法编译测试:
public void forTest(){int i;for (i = 0;i<100000000;i++){}}
public void whileTest(){int i=0;while (i<100000000){i++;}}
但看两端代码编译后Code都一样:【i小于100000000】
Code:stack=5, locals=4, args_size=10: invokestatic #2 // Method java/lang/System.currentTimeMillis:()J3: lstore_14: iconst_05: istore_36: iload_37: ldc #3 // int 1000000009: if_icmpge 1812: iinc 3, 115: goto 618: getstatic #4 // Field java/lang/System.out:Ljava/io/PrintStream;21: invokestatic #2 // Method java/lang/System.currentTimeMillis:()J24: lload_125: lsub26: invokevirtual #5 // Method java/io/PrintStream.println:(J)V29: return
for循环与while循环效率对比·5年以下编程经验必看C#】相关推荐
- ssis for循环容器_SSIS Foreach循环与For循环容器
ssis for循环容器 In this article, first, we will briefly describe foreach loops and for loops. Then, we ...
- C语言之for循环与while循环
文章目录 一.单层for循环 二.for循环与if选择的嵌套 三.多层for循环的嵌套 四.while循环 五.总结 一.单层for循环 引例:C语言实现求1到10的和(用for循环实现) #incl ...
- pl/sql中三种游标循环效率对比
pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html 转载于:https://b ...
- php in循环与for循环,详谈js中标准for循环与foreach(for in)的区别
js中遍历数组的有两种方式 var array=['a'] //标准的for循环 for(var i=1;i alert(array[i]) } //foreach循环 for(var i in ar ...
- foreach是同步还是异步JAVA,Java中foreach与正常for循环效率对比
在Java中对于集合的遍历,一般有以下三种方法: for循环 foreach循环 Iterator遍历 下面来分析一下for循环和foreach循环的效率对比以及简单分析一下原因. 看下面的代码: p ...
- python range函数怎么表示无限_Python for循环与range函数的使用详解
for 循环 for - in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(iterates),即它会遍历序列中的每一个项目 注意: 1.else 部分是可选的.当循环中包含它时,它循环中 ...
- range函数python-Python for循环与range函数的使用详解
for 循环 For - in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意: 1.else 部分是可选的.当循环中包含它时,它循环中 ...
- Python 中的循环与 else
1. 含义 Python 中的循环与 else 有以下两种形式 for - else while - else Python中的 for.while 循环都有一个可选(optional)的 else ...
- LabView学习笔记(六):while循环与for循环
Labview学习笔记: LabView学习笔记(一):基础介绍 LabView学习笔记(二):滤波器实验 LabView学习笔记(三):基本控件 LabView学习笔记(四):动态数据类型 LabV ...
最新文章
- python turtle画熊-基于turtle的Python作画
- linux项目变量存放,linux 堆、栈、全局变量存放
- SOA架构师注意的问题
- 等价关系和等价类_确定Java等价性的新时代?
- 工作总结9:vue处理token
- A. 面向对象思想介绍
- Firefox上打开的标签页太多怎么办?
- Ubuntu中软件安装与卸载
- 恢复更新--vue源码系列1之如何看源码
- Linux学习16-磁盘分区MSDOS与GPT的区别
- vmare平台上esxi主机,搭建虚拟机ping不通网关
- Byethost美国免费空间免费撸
- mssql 2000 备份计划
- 如何将电脑下载的电子书导入手机kindle APP
- 【金融项目】尚融宝项目(十一)
- ElasticSerach7.15.2插件中文分词器(IK+pinyin)
- 为什么我带的00后后辈在职场平步青云,比我还先升职了该走还是留?
- 个人项目:中小学数学卷子自动生成程序
- 大疆技术总监:如何用六年成为一个全能的机器人工程师(转载)
- 项目中使用ecTable的代码
热门文章
- 光储充一体化充电站_福建全省首座光储充一体化公交充电站投入使用
- 怎么像编辑提供wb原图_PLoS One:7月1日起,投稿必须提供原始WB图片!
- BZOJ3527: [Zjoi2014]力
- 51nod1429 巧克力
- TCP长连接与短连接的区别(转)
- C# button重绘
- 9.28 linux系统基础优化
- linux crm高可用网卡,Linux运维——pacemaker实现高可用-Go语言中文社区
- python实现高校教务管理系统_基于Python技术的教务管理系统的研究与开发
- 华为HCIE实验考试真题,杭州考场上午TS下午LAB