Performance
如何計算每個字節的周期
有時,介紹和/或處理密碼算法的網站和科學論文也提供速度分析和比較密碼實現的個人性能的表格。我也想做同樣的事情,但我不確定如何計算“週期”。
我有這個數據:
- 處理器時鐘頻率:2,1 GHz
- 消息長度:16字節
- 速度:4.3 兆字節/秒
如何從該數據中計算“週期”和“每字節週期”?
$ \displaystyle \text{cycles per byte} = \frac{\text{cycles per second}}{\text{bytes per second}} = \frac{2.1 ~ \text{GHz}}{4.3 ~ \text{MiB}} = \frac{2.1 \times 10^9}{4.3 \times 1024^2} \approx 466 ~ \text{cpb} $
當然,這可能是遙不可及的,因為如今處理器是複雜的野獸,並且可能無法始終發揮其全部潛力,並且計算很可能會被重新排序、優化或矢量化。
所以它比原始速度要好一點,因為它不依賴於處理器時鐘速度,但它仍然相當依賴於底層硬體細節。這是衡量加密性能的一個不錯的指標。