您现在的位置:首页 --> JavaScript --> Loop Benchmarks
Loop Benchmarks
浏览:2202次 出处信息
循环语句有各种写法,哪种效率最高呢?
测试页面:loop-test.html
结论:
效率很差的几个方式:arr.forEach 遍历(原生也慢),for in 遍历, arr.pop() 判断,arr[i] 判断。这些写法或许很酷很精简,但对性能有要求时,最好避免使用。多测试几十次,看统计平均结果,在 Firefox 下:++i < i++ < i = i + 1 < i += 1. 原因可以回溯到汇编语言。当然,这更多是编码习惯问题,对性能的影响可以忽略不计。推荐采用最常用的 i++ 或 ++i.缓存 length 能很明显地提高性能,推荐将其养成编码习惯。参考页面:Loop Benchmarks, 对普通数组、稀疏数组和 HTML 集合都进行了测试。
建议继续学习:
- 在C++中实现foreach循环,比for_each更简洁! (阅读:8510)
- for 循环为何可恨? (阅读:4344)
- 循环、迭代、遍历和递归 (阅读:4318)
- C/C++循环获取文件中的每行数据(别以为很简单!) (阅读:3743)
- 优化次数过多的循环 (阅读:2541)
- 数组的优化循环展开与分割 (阅读:2369)
- Perl6有用的和有意思的循环 (阅读:1853)
- JavaScript优化循环 (阅读:1679)
- iOS下自己动手造无限循环图片轮播 (阅读:1533)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:JavaScript 快速组合算法
后一篇:instanceof 内部机制探析 >>
文章信息
- 作者:lifesinger 来源: 岁月如歌
- 标签: 循环
- 发布时间:2009-10-13 22:53:30
建议继续学习
近3天十大热文
- [548] Go Reflect 性能
- [18] 正态分布的前世今生(一)
- [13] rsync同步的艺术
- [12] Linux Used内存到底哪里去了?
- [12] jQuery性能优化指南
- [12] 什么是DNS劫持和DNS污染?
- [11] Mac下.apk的反编译
- [11] Cuckoo Filter:设计与实现
- [10] vim入门,进阶与折腾
- [10] [译]Google Chrome中的高性能网