web性能优化--算法优化

Posted 快饿死的鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web性能优化--算法优化相关的知识,希望对你有一定的参考价值。

  • 避免for-in
  • 把数组长度保存在局部变量中
  • 较少迭代次数(Duffs Device)
  • 基于函数的循环比基于循环的迭代消耗性能更多
  • 优化if-else,一般switch比if-else速度快(hash tabel)

  1)避免用for-in

    常见的循环有:for、do-while、while、for-in。for-in循环比较慢,因为每次迭代操作时会同事搜索实例或原型属性。

  2)把数据数组长度保存在局部变量中 

for(var i = 0, len = items.length;i < len; i++){
 process(items[i]);
}

  3)减少迭代次数(Duffs Device)http://blog.csdn.net/cengjingcanghai123/article/details/21231865

<script type="text/javascript">  
  var iterations = Math.floor(items.length/8),  
      startAt = items.length % 8,  
      i = 0;  
      do {  
        switch(startAt) {  
          case 0: process(items[i++]);  
          case 7: process(items[i++]);  
          case 6: process(items[i++]);  
          case 5: process(items[i++]);  
          case 4: process(items[i++]);  
          case 3: process(items[i++]);  
          case 2: process(items[i++]);  
          case 1: process(items[i++]);  
        }  
        startAt = 0;  
      }while(--iterations);  
</script>  

  4)基于函数的循环比基于循环的迭代消耗性能更多。例如:for循环迭代比forEach函数迭代性能高

  5)优化if-else,一般switch比if-else速度快,但是在判断条件多时,使用查找表比if-else和switch都快

以上是关于web性能优化--算法优化的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat性能优化及JVM内存工作原理

web开发性能优化---SEO优化篇

Web项目开发性能优化解决方案

web性能优化

结对测试算法性能优化(代码层面)

结对测试算法性能优化(代码层面)