关于List.ToArray()方法的效率测试


Posted in Javascript onSeptember 30, 2016

之前一直认为因为List内部实现是数组,ToArray的实现只是将数组返回出去而已。

今天测了一下发现并不是那样

var a = new List<int>();
for (int i = 0; i < 10000; i++)
{
a.Add(i);
}
DebugHelper.StartWatch();
foreach (var i in Enumerable.Range(0, 10000))
{
a.ToArray();
}
DebugHelper.StopWatch();

1万数量大小的List,调用1万次ToArray的时间消耗是417ms左右。

报着疑惑看了下源码,没想到它是把内部数组复制了一份再返回

public T[] ToArray()
{
T[] array = new T[this._size];
Array.Copy(this._items, 0, array, 0, this._size);
return array;
}

看来对于重复性操作,可以考虑直接缓存成全局变量,或者直接用List作为参数。

以上所述是小编给大家介绍的关于List.ToArray()方法的效率测试,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 匿名函数及其代码模式原理
Mar 19 Javascript
JS判断对象是否存在的10种方法总结
Dec 23 Javascript
JS实现弹性菜单效果代码
Sep 07 Javascript
基于JavaScript实现动态添加删除表格的行
Feb 01 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
html+js+highcharts绘制圆饼图表的简单实例
Aug 04 Javascript
Angular2搜索和重置按钮过场动画
May 24 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
vue实现短信验证码输入框
Apr 17 Javascript
使用javascript解析二维码的三种方式
Nov 11 Javascript
微信小程序 window_x64环境搭建
Sep 30 #Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 #Javascript
JavaScript 对象详细整理总结
Sep 29 #Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 #Javascript
Angular 中 select指令用法详解
Sep 29 #Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 #Javascript
js仿小米官网图片轮播特效
Sep 29 #Javascript
You might like
PHP的消息通信机制测试实例
2016/11/10 PHP
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
JavaScript如何获取一个元素的样式信息
2019/07/29 Javascript
使用pandas读取csv文件的指定列方法
2018/04/21 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
房产买卖委托公证书
2014/04/04 职场文书
驾驶员培训方案
2014/05/01 职场文书
安全负责人任命书
2014/06/06 职场文书
广告学专业求职信
2014/06/19 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
公司内部升职自荐信
2015/03/27 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
入门学习Go的基本语法
2021/07/07 Golang
python_tkinter弹出对话框创建
2022/03/20 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python