美文网首页
性能优化的首要法则

性能优化的首要法则

作者: 新强吖 | 来源:发表于2016-08-31 21:07 被阅读14次

大部分人需要他们的系统运行得更快,那么从哪里开始呢?大部分profiler工具都有内存跟踪 CPU跟踪,既然我们想让我们的程序跑得更快,那当然应该是盯着CPU了,错,首要法则是应该盯着内存,是内存中对象分配。
  你首先应该是尽可能地降低对象分配,虽然我们知道对象分配非常快,那么为什么这么快还会拖慢我们的应用呢?为什么我们需要最小化我们的对象分配呢?
1.对象分配将压力加在了垃圾回收器,因为有更多对象是短生命的,你的垃圾回收器就工作得越多,这样就会导致系统减慢。
2.它会填满你的CPU缓存,因为垃圾回收强迫它们flush,将stack推入更高的L2和L3缓存,,然后推入主内存来获取数据,看看下面的各种设备时间延迟图,即使对象分配很快,也会引起Cache丢失,浪费很多CPU循环,降低了程序速度。


3.首先从容易的开始做,通过最容易的是降低分配,比如使用缓存,改变分配可以完全改变你应用程序的性能,比任何算法的改变都效果显著,后者有可能是浪费时间。
4.Profiler会撒谎,在CPU跟踪上也许Profiler会搞错,但是关于对象分配就不会了。
5.高的对象分配通常是代码坏味道,超过一定限度的对象分配会导致算法问题。

相关文章

  • 性能优化的首要法则

    大部分人需要他们的系统运行得更快,那么从哪里开始呢?大部分profiler工具都有内存跟踪 CPU跟踪,既然我们想...

  • 前端性能优化的原则、方法

    前端性能对用户体验至关重要,讲解性能优化的文章也很多,本文将介绍基本的原则和方法。 原则 性能优化的首要原则是,优...

  • 公式化解决问题

    计算机性能优化有阿姆达尔法则,这个法则通过优化某部分的性能和这部分在整个系统中占用的时间来推算部分优化后对整个系统...

  • Android 移动性能实战摘要

    参照《Android移动性能实战》做的摘要。 性能优化的首要任务就是数据监控统计,是后续测试发现问题和针对优化的基...

  • 面向程序员的数据库访问性能优化法则

    面向程序员的数据库访问性能优化法则

  • 如何进行网站性能优化

    网站性能优化“六步法则”:一、网页内容优化;二、服务器优化;三、Cookies优化;四、 CSS优化;五、JS优化...

  • web页面性能优化以及SEO

    web页面性能优化能够提高页面加载速度,提升用户体验度,基于三秒法则,每个网站都极力优化页面性能。 SEO(Sea...

  • 数据库SQL性能优化(三)

    很多数据库系统性能不理想是因为系统没有经过整体优化,存在大量性能低下的SQL 语句。这类SQL语句性能不好的首要原...

  • 规则1 — 减少HTTP请求

    在进行性能优化时,关键是剖析当前的性能,找到在哪里能够获得最大的改进。 性能黄金法则: 只有10%20%的最终用户...

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

网友评论

      本文标题:性能优化的首要法则

      本文链接:https://www.haomeiwen.com/subject/pfkcettx.html