2016q3 Homework1(clz)
contributed by <heathcliffYang
>
目標
- 閱讀重新理解數值
- 設計實驗,測各個clz程式處理32-bit數值的效能差異
觀察與設計實驗
1. clz.c & clz.h將各個clz函式蒐集
- iteration (在重新理解數值)
- binarySearch (在重新理解數值)
- byteShift (在重新理解數值)
- recursive
- harley
2. benchmark_time.c 測試效能
- 設計input值:先取5個代表性的數值來測試,視情況再多加入點
- 測時間: 考慮到一個程式的效能,時間快是最直觀的。
3. Makefile
4. 理解與修改函式
- iteration
從一半(也就是16-bit)嘗試shift right,檢查shift之後的值是否為零,若為零,則shift right的bit數再減少一半,直至不為零;不為零則繼續利用shift right後的值
- binarySearch
- byteShift
- recursive
- harley
效能優化策略
背景知識
Fast