无论Java还是C++都有不少的性能优化工具。公司曾有人把一个系统从几十TPS优化到上千TPS,真是让人佩服到五体投地。但是由于架构的原因导致性 能问题,那就不好下手优化了。
在软件项目设计前期,不可不能考虑性能设计。要确定好的性能要求,必须识别项目约束、确定软件将执行的服务并指定软件期望的 负载。但也不要过于注重性能设计。太注重往往会陷入设计的误区。有时甚至为了性能而牺牲功能,那是大错特错了。
项目交付时首先是功能是否满足,其它才是性 能。换句话说软件首先要能工作,其次才是否能高效率的工作。性能设计必须依托测试结果。不要我以为这样做法性能会好。而现在很多的所谓的系统分析设计师却 喜欢我以为,爱拿以前的经验做依托,更喜欢拿其它项目成功的性能设计套用,岂知此系统非彼系统。
性能基准测试应尽早开始,以便在问题被引入软件时就将它们识别出来。将后续的基准测试与初始的软件性能基准进行比较,确定性能是进步了还是退步了。执行这样的测试时不要做不必要的改动(如更改硬件),以便可以对 连续测试得出准确的比较结果。同样,性能障碍越早发现改起来越省开销,而且也更容易克服。
当然,要提高性能需付出代价。虽然可以针对任何给定的问题空间生成高性能应用程序,但主要代价是每个事务的成本。有时有必要通过牺牲性能来控制成本。这又说到性能与成本的关系了。性能设计也不可不能权衡提高性能对成本的影响。在成本的约束下确定性能要求。