Re: [問題] 執行時所耗費時間長短問題
※ 引述《secret999 (Je suis désol)》之銘言:
: 謝謝大家的回應
: 不過這不是在pc上跑的...
: 省些ns累計到us甚至近1ms...就能大幅改善我的問題@@
: 所以才發這篇文 問各位版大們
: 希望能夠知道耗費時間
: 以及一些省時技巧
做最佳化有幾項原則:
1. 先求結果正確
這道理很簡單,因為先寫出一個慢但是結果正確的版本,
你之後要做最佳化的時候才有比較的對象。
如果你一開始就一邊做optimization一邊設計程式,
一年後發現把所有自作聰明的optimization拿掉後程式反而跑更快
那就真的哭哭了
2. 先從演算法的層級去降低 complexity
這應該不用說明
3. 使用 profiling 去分析程式中的效能瓶頸
我想這是你要問的重點,profiling 是 compiler 提供的一項功能,
可以在所有的函式呼叫前後插入計時點,幫你計算你的程式在執行過程中,
這些函式分別花了多少時間。
先使用 profiling 找出程式中最花時間的部份,你才能對症下藥。
如果你的程式是因為大量的 cache miss 導至效能不彰,
那你把運算部份的程式碼改得再快也沒用。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.69.155
→
09/18 14:40, , 1F
09/18 14:40, 1F
→
09/18 14:42, , 2F
09/18 14:42, 2F
→
09/18 14:42, , 3F
09/18 14:42, 3F
→
09/18 14:42, , 4F
09/18 14:42, 4F
推
09/18 15:04, , 5F
09/18 15:04, 5F
→
09/18 15:06, , 6F
09/18 15:06, 6F
→
09/18 15:06, , 7F
09/18 15:06, 7F
→
09/18 15:07, , 8F
09/18 15:07, 8F
→
09/18 15:08, , 9F
09/18 15:08, 9F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
3
20