Re: [請益] 請問學哪個比較實用
看板Soft_Job (軟體人)作者Aurim (Who cares?)時間16年前 (2010/02/24 09:46)推噓2(2推 0噓 21→)留言23則, 6人參與討論串14/19 (看更多)
不同時期的人有不同看法吧。
當你的工作是OS/driver或比較大型的軟體系統時,看到底下的#1,我想問:
哪時候才會沒有問題發生呢?
小公司一個專案的bug編號了不起三位數、四位數,我會說你說得還好。
大公司一個長期維護的產品bug編號會是六、七位數以上,每天幾百個人一起改code,
幾乎每天都有固定數量以上的bug被提報,沒問題發生就是要發生大事了。
如果你的工作大半都是在別人幾天前、幾星期前、幾個月前寫的code上抓bug,
某個程度上,你一定要知道別人、編譯器、作業系統、硬體到底幹了哪些事情的啊,
只是搞得多清楚的差別。
※ 引述《lgd1008 (lgd1008)》之銘言:
: 另外不必事事知道底層的例子, 可以參考自己與身旁同事的 program integration
: 你何時需要知道同事的實作細節? 太概就只有
: 1.問題發生的時侯, 2.交接的時侯, 3.想找東西學習的時侯...
: ※ 引述《lgd1008 (lgd1008)》之銘言:
: : 高階語言不會是eye candy
: : 高階語言compile出來之所以會比較慢/大, 是因為它引入的更多的附加物
你底下說的不一定,我都幹過了,所以我不認為弄半天也沒辦法弄出那樣的效能;
當然這感受是因人而異的。我會說那並不是什麼大不了的事情。
舉個簡單的例子,我高中時曾經用幾個不同語言寫階乘計算的小東西來磨練自己,
目標是能夠算出電腦記憶體能夠允許的最多位數的階乘。
這是個小題目,可是可以讓一個人在已經做好的東西不斷再去加強效能,
思考怎樣可以讓它跑得更快,比較各種手法的不同效率。
因為高階語言的overhead,大數計算用組語作在執行效能上仍然會是最快的。
即使是今日,幾乎天天在看微軟的編譯器生出來的機械碼,我的意見不會改變。
凡事都有邊際效益的差別,同樣做個對照,低階語言 vs. 高階語言,C vs. Java:
Java JIT再怎麼強,跟C/C++生的原生code就是有效能差異。
就算單純是一個固定比例的差異,10%來講,當CPU時脈愈來愈高,
pipeline內能夠同時執行的指令愈多,差那10%,可能代表的就是0.1 GFLOPS的差別。
實際上是差更多,我看過的一些案子就是,實際上處理的資料量明明就沒那麼大,
可是因為garbage collection沒辦法那麼有效消化垃圾,應該是幾台高檔PC當server
跑起來應該要OK的東西,搞到要用很貴的機器來讓客戶覺得效能能夠令人接受。
(幾億元的機器來跑,效能仍然令人不滿意,只是可以接受而已)
關鍵在於你犧牲那些效能,能提高多少生產力,節省多少開發時間,
會不會有別的問題伴隨而來?上面就提到了garbage collection的問題。
不同工具,適合的工作也不同。
: : 反過來說, 一些較複雜的algorithm, 或複雜的應用
: : 你用低階語言也不一定做得出它的 performance
: : 因為光要做出與高階語言特色能匹敵的library, 可能就是一件難事
: : 例如有些語言, 提供你不限大小的型別去做運算
: : 你用低階語言去實作, 參考, 組合, 包裝 .... 一些大數運算的library
: : 可能弄了半天都沒有辦法做出那樣的 performance, 或寫出相同簡潔的程式.
: : 個人意見
我只是組語摸了20年,幾個高階語言跟VM的runtime library內部實作看透透,
在幾個不同領域待過,一點淺見而已。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.10.18
→
02/24 10:51, , 1F
02/24 10:51, 1F
→
02/24 10:53, , 2F
02/24 10:53, 2F
→
02/24 10:53, , 3F
02/24 10:53, 3F
→
02/24 10:53, , 4F
02/24 10:53, 4F
→
02/24 10:54, , 5F
02/24 10:54, 5F
→
02/24 10:55, , 6F
02/24 10:55, 6F
→
02/24 10:58, , 7F
02/24 10:58, 7F
→
02/24 10:58, , 8F
02/24 10:58, 8F
→
02/24 12:21, , 9F
02/24 12:21, 9F
→
02/24 12:21, , 10F
02/24 12:21, 10F
→
02/24 12:22, , 11F
02/24 12:22, 11F
→
02/24 12:23, , 12F
02/24 12:23, 12F
→
02/24 12:26, , 13F
02/24 12:26, 13F
→
02/24 12:53, , 14F
02/24 12:53, 14F
→
02/24 12:54, , 15F
02/24 12:54, 15F
→
02/24 12:54, , 16F
02/24 12:54, 16F
→
02/24 12:55, , 17F
02/24 12:55, 17F
→
02/24 12:57, , 18F
02/24 12:57, 18F
→
02/24 20:53, , 19F
02/24 20:53, 19F
→
02/24 21:40, , 20F
02/24 21:40, 20F
推
02/25 14:31, , 21F
02/25 14:31, 21F
推
02/25 16:59, , 22F
02/25 16:59, 22F
→
02/25 17:07, , 23F
02/25 17:07, 23F
討論串 (同標題文章)
Soft_Job 近期熱門文章
28
62
PTT職涯區 即時熱門文章