Unity C#for和foreach效率比较

下面是代码自己测试一下即可
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class TimeDuiBi : MonoBehaviour
{
List<int> list = new List<int>(); private void Start()
{
for (int i = 0; i < 3000000; i++)
{
list.Add(i);
}
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
int temp1 = 0;
int cout = list.Count;
for (int i = 0; i < cout; i++)
{
temp1 += list[i];
}
stopwatch.Stop();
Debug.Log("for time=: " + stopwatch.Elapsed.TotalMilliseconds + "temp1:" + temp1); System.Diagnostics.Stopwatch stopwatch2 = new System.Diagnostics.Stopwatch();
stopwatch2.Start();
int temp3 = 0;
for (int i = 0; i < list.Count; i++)
{
temp3 += list[i];
}
stopwatch2.Stop();
Debug.Log("for list.Count time=: " + stopwatch2.Elapsed.TotalMilliseconds + "temp3:" + temp3); System.Diagnostics.Stopwatch stopwatch1 = new System.Diagnostics.Stopwatch();
stopwatch1.Start();
int temp2 = 0;
foreach (var item in list)
{
temp2 += item;
}
stopwatch1.Stop();
Debug.Log("foreach time=: " + stopwatch1.Elapsed.TotalMilliseconds + "temp2:" + temp2);
}
}
}
以上就是测试的结果,不喜勿喷
搜索
复制
Unity C#for和foreach效率比较的更多相关文章
- C# 多线程 Parallel.ForEach 和 ForEach 效率问题研究及理解
from:https://blog.csdn.net/li315171406/article/details/78450534 最近要做一个大数据dataTable循环操作,开始发现 运用foreac ...
- Java中LinkedList的fori和foreach效率比较
在<Java中ArrayList的fori和foreach效率比较>中对ArrayList的两种循环方式进行了比较,本次对LinkedList的两种遍历方式进行效率的比较. 1. list ...
- Unity关于一个UGUI优化效率的方法
无意间发现了一个小技巧.如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题. 一般 ...
- Java中ArrayList的fori和foreach效率比较
1. list的元素为Integer [代码实例1] public static void main(String[] args) { List<Integer> list = new A ...
- Unity中SendMessage和Delegate效率比较
网上直接搜的代码.需要的使用也简单,所以就不过多说明. 但是网上都说,他们之间的差距,delegate比较快,效果高.怎么个高法呢?还是自己来测试下时间. 故此, 个人之用来比较下时间差别. 一.直接 ...
- Unity减少GC Alloc之 使用for替换foreach
Unity中foreach会增加GC unity中for效率比foreach高? 在unity中使用foreach遍历集合会增加gc alloc,参考的话题:作为Unity3D的脚本而言,c#中for ...
- 解析提高PHP执行效率的50个技巧
1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手 ...
- foreach 和 for 循环的区别
foreach 依赖 IEnumerable. 第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a, 以后每次再执行 var a in Ge ...
- Unity中那些事半功倍的好插件
Unity开发最好的地方就是有各种强大的插件,有哪些插件让大家事半功倍,稳定强大 值得推荐学习和入手呢?Unity5.0之后,制作UI 以及UI的动画,UI特效,大家一般都使用什么插件?或者说有什么好 ...
- 50个提高PHP编程效率的方法
用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册 ...
随机推荐
- C#,Winform软件防破译-源代码加密简单方法之.NET REACTOR(二)制作软件及软件试用时间限定
二.简单介绍使用 .net reactor 软件制作试用软件,利用license制作授权软件的方法. 1.首先,生成试用版软件 设置主文件和附属文件,打开.net Reactor 设置试用期限,在Se ...
- Python装饰器实例讲解(一)
Python装饰器实例讲解(一) 多种角度讲述这个知识,这是个系列文章 但前后未必有一定的顺承关系 部分参考网络 本文以一个小案例引出装饰器的一些特点,不涉及理论,后面再谈 案例 写一个代码来求一个数 ...
- Laravel 刚创建的项目 API 无法使用 Session,是没有在Api的请求内开启Session
- elasticsearch之日期类型有点怪
一.Date类型简介 elasticsearch通过JSON格式来承载数据的,而JSON中是没有Date对应的数据类型的,但是elasticsearch可以通过以下三种方式处理JSON承载的Date数 ...
- YouCompleteMe用法总结
1.将.ycm_extra_conf.py拷贝到工程目录,然后打开,将自己的include目录添加进去
- soucrce insight4 使用
1.快捷键 F8 高亮 ctrl + 左击 进入函数定义或变量声明处 Alt + , 后退 Alt + . 前进 ctrl + g 跳到固定行 shift + F3 选中一个单词按下后,可按F3,F4 ...
- ClickHouse exception, code: 62, host: hadoop102, port: 8123; Code: 62, e.displayText() = DB::Exception: Syntax error: failed at position 183 (end of query):
报错 ClickHouse exception, code: 62, host: hadoop102, port: 8123; Code: 62, e.displayText() = DB::Exce ...
- HACLABS: NO_NAME
HACLABS: NO_NAME 目录 HACLABS: NO_NAME 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.2.1 目录分析 2 命令注入利用 2.1 尝试反弹Shell 2. ...
- Moonraker
Moonraker 目录 Moonraker 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.3 目录分析 1.3.1 /services/ 1.3.2 /svc-inq/salesmoon ...
- PostgreSQL Repmgr集群
一.概述 repmgr是一套开源工具,用于管理PostgreSQL服务器群集内的复制和故障转移.它支持并增强了PostgreSQL的内置流复制,该复制流提供了一个读/写主服务器以及一个或多个只读备用数 ...