發表文章

目前顯示的是 11月, 2018的文章

vector instrunctions

vector instrunctions 單位時間內比較耗電,產生較多熱量 Intel CPU workaround是把使用到的core降頻,減少熱量產生 是否會因為過熱降頻反而減少效能,需要實測才知道 AVX512的部分可以參考 https://lemire.me/blog/2018/09/07/avx-512-when-and-how-to-use-these-new-instructions/ 目前似乎不太推薦使用AVX512 AVX2也有類似的情況 舊型CPU降比較多,新的才會降比較少 AMD沒有這個問題,至少我的R5是這樣 因為Zen是用兩個cycle 128bit來做AVX2 (256bit),產生的熱沒那麼多 也許有降頻,沒有降到Intel那樣 還有一個問題,混用SSE2和AVX指令下會降低效能 (比只用SSE2還慢) 原因是CPU的狀態必須重置,會花費更多時間 (詳細的說明請自己去google) 不是說不能用SSE2指令,必須用AVX版本的SSE2指令 (叫做AVX-128?) compile成SSE2的和AVX的link起來,就無法避免這種情況發生 用設定強制支援AVX的用SSE2跑,或是重新compile成同樣版本指令集 https://software.intel.com/en-us/articles/avoiding-avx-sse-transition-penalties 看起來應該是同一個thread的程式內混用才有影響

Initialize handle

https://github.com/obsproject/obs-studio/pull/1519 有些function錯誤是return NULL不是INVALID_HANDLE_VALUE? 或是全部,我好像沒用INVALID_HANDLE_VALUE來initialize過

regular exrpression (regex)

sed 內有個陷阱 沒指定-r 參數下使用的是POSIX Basic Regular Expression (BRE) 會把()當成plain text,不是grouping,需要\( 才有特殊意義 不是一般熟悉的RE,所以用regex tester會發現結果和跑出來不一樣 https://www.regular-expressions.info/posix.html