程式結構和效能優化

2021-04-12 20:45:08 字數 681 閱讀 9757

最近在寫一套關於blog遷移的程式,由於涉及到頁面分析就寫了乙個笨笨的迴圈檢測程式

有段**大致如下

public

string

t1(string

str)

其中countlength是個計算方法,計算str中***出現次數;

這樣的一段**你認為會有問題嗎?

至少我最初是這麼寫的也沒有發現有什麼問題。

但是,後來發覺整個系統的**處理完所有資料居然需要花費15分鐘,太慢了,受不了。

開了效能檢測工具,得出的結果是程式在遷移blogcn的站點時,blogcn的伺服器太慢,socket的connect和recieve方法耗用的時間太多,基於socket的東西動不了,就只能想其他辦法

追查**訪問計數,居然發覺countlength居然被呼叫了5w多次,占用了大概20秒左右。

於是對程式做了調整,修改為了:

if(str[i]=='

<')

對比起來我後面的**風格很不緊湊,而且大家大概一般都喜歡原來的模式。

但是這一改countlength只被呼叫了3w多次,時間縮短為13秒左右。成果可喜

看似不清晰和簡約的編碼風格卻提高了效能,是之前沒有預料到的。

也提醒了俺以後要更注意編碼習慣。

另外這段時間對於http協議,session,cookies重新有了進一步的認識。

程式結構和程式執行

有兩個方法來實現條件分支,乙個是條件控制來實現條件分支,另乙個是條件傳送來實現條件分支。int max int a,int b 條件控制 像 x y的結果對處理器來說非常不可 即使最精密的分支 硬體也只有50 的概率 正確。int max int a,int b 條件傳送 一般來說,同樣功能的 條件...

C 程式結構

c 中的組織結構的關鍵概念是程式 program 命名空間 namespace 型別 type 成員 member 和程式集 assembly 命名空間 型別 成員 類 class 資料成員 字段 函式成員 方法,屬性,索引器,事件,運算子,構造 析構函式 介面 inte ce 函式成員 附經典理解...

c 程式結構

東南大學第5章c 程式結構 本章重點注意const static兩個關鍵字,也是企業面試中常見的面試題 一 作用域 作用域 識別符號的可見範圍 可見性 識別符號是否可以引用的問題。1,函式原型作用域 函式原型裡的形參 2,塊作用域 塊中的識別符號作用域在花括號之間 3,類作用域 類x的乙個成員m,在...