版本 be914d62bfc39da60abfa44e9a8e145c476d0c14
2015q3 Homework #4
預期目標
- 驗證 Week #4 課程
- 學習動態編譯器
- 學習 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)」