版本 8d407e6130feed85af775696f32fc1a1d6c1a49e
2015q3 Homework #4
預期目標
- 驗證 Week #4 課程
- 學習動態編譯器
- 學習 code review
- 研究軟體最佳化
截止日期
- Oct 26, 2015 (含) 之前
- 越早在 GitHub 上有動態、越早接受 code review,評分越高
作業要求 (A)
- 難度:低 (適合之前 Homework #2 自認作不好的學生)
- 研究其他同學在 Homework #2 的程式成果,選出對自己有啟發 (正面) 的兩份作業成果,以及認為應該改善 (負面 ) 的三份作業,需要評註與解說
- 就事論事,不要怕得罪人,重點是提昇彼此的能力和視野
- 一定要有出處
- 將成果整合到自己的實做中
- 指出自己獲得的啟發、程式效能的改善
- 說明自己為何兩週前進度落後
- 建立新的 Hackpad,列在「作業區」
- 標注「開發紀錄(A)」
作業要求 (B)
- 難度:中
- 詳讀 Virtual Machine Constructions for Dummies,改善 Brainf*ck 執行效能
- 改善 JIT compiler,加入若干 optimization techniques
- 在 GitHub 上 fork jit-construct
- 紀錄若干效能最佳化技巧帶來的提昇
- 建立新的 Hackpad,列在「作業區」
- 標注「開發紀錄(B)」
作業要求 (C)
- 難度:中
- 將 Rubi 實做切換到 DynASM,並且設計效能評估機制,從而改善
- 原本 x86 code generator 換成 DynASM 語法
- The Unofficial DynASM Documentation
- 在 GitHub 上 fork rubi
- 紀錄修改和效能分析
- 建立新的 Hackpad,列在「作業區」
- 標注「開發紀錄(C)」