回覆列表
-
1 # 使用者3504955937580
-
2 # wanghq97
1)避免頻繁的檔案讀寫操作之類與裝置有關的輸入輸出。
例如頻繁地 rewind(fp) fscanf(fp,...) fprintf(fp2,...)
輸入輸出 指令 比一般 運算指令慢 成百上千倍。
(2)避免頻繁的多維陣列元素運算,陣列元素定址費時,用指標快。
(3)避免頻繁的函式呼叫,簡單的運算過程可以直接寫在呼叫程式塊裡,免寫函式。因為函式呼叫要做堆疊操作,壓進彈出。
(4) x平方,寫成 x*x, 2乘x 用 x+x 加法運算。
(5) 能用 float 的變數 不要用 double
能用 short int 的變數 不要用 long int
(6)重要的一點, 編譯時,選擇“速度最佳化”等 最佳化
例如 MS VC++ 編譯時 用 /O2 -- maximize speed
考慮特定 CPU 的 最佳化 /G3 到 /G6 等 (與CPU型號有關)
輸出速度要根據硬體配置有關,如果執行過慢可以考慮換一個CPU