性能測試從零開始——LoadRunner入門(四)[3] 性能測試工具
解決:
修改程序如下:
void swapTwo(int *a,int *b)
{
*a=*a+*b;
*b=*a-*b;
*a=*a-*b;
}
原理:修改之后,多了運算復雜度,但沒有使用第三方變量,減少了空間的占用。
以上是我們從簡單的程序例子來理解性能解決方案,但現實要遠遠復雜得多,因為隨著軟件系統功能的復雜強大,軟件的規模也在不斷擴大,我們不可能完全自己開發程序,很多時候是利用已有的平臺和中間件資源。在這種場景下,我們應該怎樣考慮性能問題呢?
第一,軟件系統設計的架構及技術平臺
軟件在設計階段一旦決定采用哪種架構和技術,其性能也就注定只能在一定的范圍內變動了。這就是“先天”因素。比如在上節講到的一個刪除/增加數據的業務操作,如果用戶對時間非??量?,密集型計算、在線的大數據量統計和分析等應用,這些場景通常J2EE不能夠很好地解決,使用C++或者其他平臺搭建會更合理些。如果在這些場景下硬要采用J2EE架構,那么開發和設計人員如何絞盡腦汁,優化設計和程序,也不會滿足用戶的性能要求。
第二,中間件的設置和優化
這里的中間件是廣義的中間件,是應用程序調用的第三方軟件,包括操作系統、數據庫、Web服務器、消息服務器等。我們不能改變中間件的程序,只能通過調優手段來提高它所支持的軟件系統的性能。 軟件測試
第三,硬件的配置
這里包括服務器硬件配置和網絡環境。服務器硬件包括內存、CPU等,網絡環境有交換機、路由器等。
原文轉自:http://www.anti-gravitydesign.com