最近在寫一套關於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,在...