2015q3 Homework 2
 
  • 在 GitHub 上 fork phonebook,然後適度修改 phonebook_opt.c 和 phonebook_opt.h 兩個檔案,使得這兩者執行時期的 cache miss 降低。請用 perf 驗證,而且改進的過程中,不能有功能方面的減損。
  • phonebook_orig.[ch] 不需要修改,我們關注的是 phonebook_opt.[ch],當然要修改 main.c 也是允許的
  • findName() 的時間必須比 Week #3 課程 列出的數據,來得更快
  • append() 的時間可以比原始版本稍久,但不應該增加太多
  • 在執行程式(phonebook_orig 和 phonebook_opt) 前,先清空 cache:
$ echo "echo 1 > /proc/sys/vm/drop_caches" | sudo sh
  • 除了修改程式,也要編輯 Hackpad 下方「+作業區」,增添開發紀錄和 GitHub 連結
  • 至少要列出效能分析,以及充份說明你如何改善效能。請使用 gnuplot 建立圖表
  • 務必使用 astyle 排版,詳細使用方式見 README.md
  • 截止日期:
  • Oct 12, 2015 (含) 之前
 

作業區 (GitHub / Hackpad)