关于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 相关文章推荐
Js 获取当前日期时间及其它操作实现代码
Mar 04 Javascript
js汉字转拼音实现代码
Feb 06 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
jQuery设置与获取HTML,文本和值的简单实例
Feb 26 Javascript
详细讲解JavaScript中的this绑定
Oct 10 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
使用D3.js+Vue实现一个简单的柱形图
Aug 05 Javascript
layui table 参数设置方法
Aug 14 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 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
我的论坛源代码(六)
2006/10/09 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
python调用cmd复制文件代码分享
2013/12/27 Python
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
采购员岗位职责
2013/11/15 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
药品开票员岗位职责
2015/04/15 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
浅析Django接口版本控制
2021/06/26 Python
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python