Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

[小代码]如何写运行最快的循环

$
0
0

源于虚拟机的设计者 Dan Bornstein,从快到慢依次排序如下:

/*
 * How To Write Faster Loops (after Dan Bornstein, Google Engineer)
 * 
 * - http://www.youtube.com/watch?v=ptjedOZEXPM
 *
 */

/* 1 (最快) */
for (int i = initializer; i >= 0; i--) { ... } //initializer 初始值
 
/* 2 */
int limit = calculateLoopLimit();//limit 限定值
for (int i = 0; i < limit; i++) { ... }

/* 3 */
Type[] array = getMyArray();
for (Type obj : array) { ... }

/* 4 */
for (int i = 0; i < array.length; i++) { ... }

/* 5 */
for (int i = 0; i < this.var; i++) { ... }

/* 6 */
for (int i = 0; i < obj.size(); i++) { ... }

/* 7 (最慢) */
Iterable<Type> list = getMyList();
for (Type obj : list) { ... }


作者:laihuan99 发表于2013-5-16 10:53:29 原文链接
阅读:31 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>