- compiler flag tuning, PGO可以睇下gcc或llvm manual。JIT同改compiler就可以睇llvm tutorial。
- kernel tuning都係睇係Linux HOWTO,網上tutorial
- vectorization要睇ISA跟住搵D programming仔自己識下,intrinsic/assembly都係差不多。
- algorithms要case by case,例如如你要做video encoding就搵有關paper同書去睇,好多是唔洗明晒,知道點implement okay。普遍嚟講玩algorithm數底好有著數,得閒讀下數學。
- memory tuning最好要識computer architecture,知到cache hierarchy,cache consistency protocols,memory ordering,SMP/NUMA。
- locking 都係睇書,睇係人地project source code。
- I/O 都係
- FPGA可以買塊board返嚟學verilog/vhdl,而家幾十蚊USD有得玩。
我自己好多係工作需要邊做邊學,例如vectorization。不過我本身係system programming底,寫過好多唔同CPU嘅 assembly。好多時睇下sample code同document就得。