为性能

来源:互联网 发布:算法导论没有英文版 编辑:程序博客网 时间:2024/05/01 11:06

现代的计算机配置似乎达到了良好运行一切的程度,或者说良好运行大多数。我们期盼的是高速cpu和大内存和io极快的硬盘能解放使用者,使用者不再需要恶补计算机和软件的知识硬着头皮冒充计算机专家调整自己机器这样那样的参数;能解放程序员,程序员能专心于开发消费者真正需要的功能和良好的使用体验,而不是而不是为了运行的快一些,内存使用的少一些费尽心力。

现实的情况是,计算机运行着不止一个应用。这些应用的开发者也都基于现代计算机高配置的认识,程序充满了蛮力计算和多吃多占。于是历史又一次重演,消费者们还是摆脱不了隔一段时间重装系统的怪圈。

出来混迟早要还的!没有在性能上下功夫的应用,迟早会被丢尽垃圾箱的。


性能的概念

(1). 响应时间
一般包括应用计算时间 + 网络传输时间 + 界面展现时间。响应时间是用户对应用最直接的感受。

(2). TPS(Transaction Per Second)
TPS为每秒处理的事务数,是一个吞吐量指标。我们大可以根据每个命令会消耗多少时间,计算出一秒能完成多少个命令。但也不尽然,因为现在已经很少有系统是顺序处理用户命令的,大多是并发处理多个用户的命令。


性能调优方向
(1) 降低计算时间

a. 使用缓存{对象池、计算结果缓存}

b. 数据结构和算法优化

c. JNI

d. 需求优化和计算逻辑优化

e.减少系统调用

f.批量操作

(2) 顺序执行改异步执行

a.多线程多进程同时执行多个计算,但注意线程或进程的上下文切换造成的资源浪费

b.错开多个计算同时对少数资源的请求,不要无谓的线程进程挂起和切换


原创粉丝点击