`

性能优化前请你先做profile

阅读更多
很多developer会忽视,甚至是无视profile的重要性。总是想当然的做些性能优化。

经常有developer跑过来说:hey, 给我测测性能,我做了些优化。应该会有提升的。
ok, 没问题。我很愿意为你效劳。 但是经常碰到的结果是: 没有或只有很小的提升。
你告诉他,他还会认为你什么都不知道,你的测试结果不能说明问题。

我想也许是因为developer都认为自己知道的最多,喜欢想当然(只是也许)。

我这里想强调关于性能优化的一个前提:
你已经确定了某个地方是你系统的瓶颈所在。

怎么样确定? 当然是profile了!!!

更好笑的是,我还常看到developer花了大力气把一个本不是瓶颈的地方提升了1倍,整体系能提升10%不到,很是自豪啊。
结果,因为在一个很不起眼的地方犯了个小错误,导致整体性能下降100%!!!.......


软件开发更多时候需要的是心细,而不是玩些小聪明。

(下篇预告: 性能分析,请你不要乱猜)
分享到:
评论

相关推荐

    Django代码性能优化与Pycharm Profile使用详解

    本文通过一个简单的实例一步一步引导读者对其进行全方位的性能优化,这篇文章主要给大家介绍了关于Django代码性能优化与Pycharm Profile使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

    Oracle DBA手记3-数据库性能优化与内部原理解析 中文版

    《oracle dba手记3:数据库性能优化与内部原理解析》由多位数据库技术专家合著而成,融合了各行业dba 的工作经验与思考,包含了精心挑选的数据库性能优化与内部原理解析案例。内容涵盖“dba 手记”,以手记形式记录...

    SQLserver性能检测和优化.docx

    它也可以生成数据库引擎优化顾问分析需要的负载数据,profile主要用于在线实时监控和收集数据用于后期的分析使用,它可以将收集的数据保存成文件和插入到表。用于捕获百并记录服务器的事件(例如:连接、断开、死锁等...

    Python性能分析工具Profile.docx

    代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile 与 hotshot 等。其中 Profiler ...

    flex 使用profile性能分析

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    第15章 RAC稳定性与性能优化 15.1服务器硬件 15.1.1 Firmware固件升级 15.1.2硬件设备兼容性 15.1.3 FC HBA卡冗余 15.1.4 Infiniband技术 15.1.5 RAC硬件结构案例 15.2操作系统 15.2.1认证操作系统 15.2.2...

    软件性能测试-profile

    软件软件性能测试-profile软件测试1.Profile的作用帮助你分析并发现程序运行的瓶颈,找到耗时所在,同时也能帮助你发现不会被执行的代码。从而最终实现程序的优化。2.Profile的组成Profile包括3个命令行工具:PREP,...

    Python性能分析工具Profile使用实例

    代码优化的前提是需要了解性能瓶颈在什么地方,程序运行的主要时间是消耗在哪里,对于比较复杂的代码可以借助一些工具来定位,python 内置了丰富的性能分析工具,如 profile,cProfile 与 hotshot 等。其中 Profiler ...

    Android 性能优化一: 18.Android Performance Patterns- Tool - Profile GPU Rendering.mp4

    谷歌官方发布视频

    写安卓必须要掌握的性能优化之内存泄漏

    说起性能优化,大多数脑海里便会出现启动优化、UI绘制优化、内存优化等等。之前我也一直在做这些优化,一直没有勇气看内存泄漏的问题,觉得太难,但是,再难也要看啊,跑不了,那么就来吧(做完发现其实也不难)。 ...

    MySQL性能分析工具profile使用教程

    分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前...

    Python 性能优化技巧总结

    1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了psutil,所以不能跟踪cpython的扩展; 2.用C来解决费时的处理,c是效率的代名词...

    MySQL中使用SHOW PROFILE命令分析性能的用法整理

    主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下

    ORACLE9i_优化设计与系统调整

    §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...

    Java版水果管理系统源码-seckill:聚焦Java性能优化,打造亿级流量秒杀系统。详解分布式、多级缓存、交易泄压、流量错峰、防刷限流、性

    聚焦Java性能优化,打造亿级流量秒杀系统 部署生产环境 本地在项目根目录下使用mvn clean package打包生成seckill-1.0.0-SNAPSHOT.jar文件 将jar包服务上传到服务端上并编写额外的application.properties配置文件 ...

    async-profiler性能分析

    轻量级jvm性能分析工具,相比jvisualvm的profile,对jvm进程的性能影响低于10%,可作为线上监控使用

    性能优化篇之Webpack构建速度优化的建议

    输出Webpack构建信息的.json文件:webpack --profile --json > stats.json --profile:记录构建中的耗时信息 --json:以json格式输出构建结果,最后只输出一个json文件(包含所有的构建信息) web可视化查看构建分析...

    oracle动态性能表

    正因如此多的性能数据,检查某区间内系统资源使用情况可以这样做,在一个时间段开始时创建一个视图数据快照,结束时再创建一个,二者之间各统计项值的不同(end value - begin value)即是这一时间段内的资源消耗情况...

Global site tag (gtag.js) - Google Analytics