今天寫程式的時候我考慮到在乙個for迴圈中加上if判斷的時候效率的問題(迴圈上萬、十萬等數量級的時候),一開始的想法很簡單,就是能不加就不加,儘管不知道會影響多少的效率,但是不加總會比加上要好。正好今晚超哥在,我就請教了一下超哥,
其實很簡單,主要看這個迴圈的有效迴圈次數,神馬是有效迴圈次數呢比如
int sum = 0;for(int i=0; i)
}
在上個迴圈中,會迴圈1萬次,但是你會發現有效迴圈是只有5k次的,也就是說我們執行了另外5k次的無效迴圈,這樣的時間就是相比下明顯的浪費了。假如說我們在製作這個list的時候他就是全部是%2==0的資料,那麼就不必要去迴圈無意義的5k次了。
可能剛才的**不規範說的也不太清楚。但是大體能明白那個意思。
其實迴圈是挺消耗cpu的一種操作,所以我們在每次做迴圈的時候要盡量保證每次迴圈都是有意義的。儘量減少無意義迴圈的次數。
還有就是i/o讀寫操作,對於i/o操作是挺消耗時間的,所以在迴圈的時候能避免i/o操作就避免。不然你會發現cpu占用很低,但是硬碟狂閃的情況,因為計算機在瘋狂的進行i/o操作。
關於php 定時執行的一些想法
關於php指令碼定時執行無外乎3種方式 1 windows 的計畫任務 2 linux的指令碼程式 3 用web瀏覽器定時重新整理 今天想到用sleep函式來實現php 自動定時執行。只要php能執行即可。如下 if get ac stop exit sleep 5 name time fp fop...
關於OCR,一些想法
ocr一般分為兩種 1,根據給定的字元特徵集合,提取未知字元的特徵進行匹配識別 典型例子 gocr 2,不知道字元特徵,但給出提取特徵的規則,通過機器學習training來獲取某個字符集的特徵集,對未知字元進行匹配識別。典型例子 tesseract 第一種方法簡單,在某些場合很高效,但比較侷限,字符...
關於tv app的一些想法
以前是做iptv機頂盒的,現在是做網際網路電視機頂盒的,在技術上的區別是不大的。通過這些年與電信,廣電打交道,現在對產品有了一些小想法。那麼在顯示上都是以web為主,用web來顯示epg內容,用osd來顯示狀態。但是隨著android的出現,現在大部分機頂盒或電視劇集廠家,都開始了智慧型之旅。乙個是...