引用:
作者orakim
不是設計時就要考慮多核心的運算,怎麼是設計完了之後還要花1年的時間作優化?
現階段的軟體設計只不過是經驗不足,多花點時間練功、多花點學費賺經驗值
經驗值夠了自然會Level up,一些小囉嘍等級的設計自然隨便就可以解決了
以前的程式設計師被單核心世代寵太久了,現在面臨基礎設計上的改革 竟然說無法承受
|
說那麼簡單,你來寫... Multi-thread 最大問題根本不是寫不出來,是除錯和效率沒辦法克服,除錯就是會有死結產生,常常你會看到線上遊戲更新版後當機連連,就是這樣來的,物件要消的時候清的不徹底或根本清不掉,或是一般狀況都不會有問題,遇到了某個物件同時存取時就會出錯,這種錯誤沒親眼看到,死都不相信會有錯,這種和經驗有關系我承認,但無論經驗到何程度,你寫的和我寫的Combine在一起,不出錯是不可能的,工程師可以預知自己可能的錯誤加以修正,但不是神可以預知別人的錯加以避免
效率更是一個大問題,別以為寫Multi-thread就一切完美,建立和取消Thread也會花許多CPU Time,把Thread拆開後,效率沒有單Thread好,所以通常會更慢,除非你知道哪麼部份會消耗很多CPU,但要是知道的話就好辦了,就是要專人下去測試才會知道瓶頸在哪,如果你告訴老闆說"要有更多人才能tune 20%效率",答案就是"做不到,你加班做吧",除非有遠見的大企業才可能這樣做,像台灣這種軟體勞工來說,那不如效率差一點,能交差優先,沒交差可能先回家吃自己
寫軟體和在工地綁鋼筋訂木板的差不多等級,只是一個在室內一個在室外,而且室外的領的薪水比室內的還多,工作時間室內的卻比較長