Re: [請益] java的效能!?
我是很重視OO的人,
我手上的程式是一定會物件化的,
而且物件化得很徹底,
一個物件不超過500行,
我把沒有物件化的程式重寫後,
效能不但沒有變差,
反而比前人寫的版本快非常多,
我這樣講吧...非OO的寫法或許會比OO的寫法快,
但這影響效能的因素根本不到10%,
最主要影響效能的因素是本身寫法的問題,
一樣是物件化,
為什麼要一直new東西出來?
明明就可以只new一個物件,然後不斷的重覆利用就好了,
真的沒用到時再釋放掉,
這樣效能不就好很多了?
我舉個我親身看到的例子,
有人寫黑白棋的程式呀,
每下一步棋,
就new一個黑棋或白棋在棋盤上,
好死不死那人記憶體釋放又沒做好,
下到第五回合後,就越來越lag,不久就當機了...
但我的寫法是棋盤上每一格都有黑棋,白棋,沒棋三種狀態,
我只要new一個棋盤出來就好了,
之後都只是狀態的改變,
不會再new東西出來,
這樣的寫法,
就算玩到100回合也玩得下去,
記憶體也不會爆,
也不會lag...
說到這裡,是不是可以證明OO也是可以寫得很有效能呢?
所以我想你的主管可能對OO沒有很了解,
想像一下,
想像我們在做一部車,
OO就只是讓一部車分成許多零件再組合起來,
零件好,組合得好,這部車仍然可以是世界上最快的車,
而且可以被修理,可以把零件任意更換,
效能差,我相信90%是因為程式碼沒寫好或架構有問題,
所以我很強調程式的內心功和working smart,
這才是提升效能的關鍵
※ 引述《pandaforme (建 建)》之銘言:
: 事情這樣的
: 因為公司的主管很排斥物件導向概念和新的技術
: 認為程式擁有太多class,必須要一直new產生一個新的instance,會花費很多效能!?
: 引用structs架構也會拖慢效能!?
: 所以公司的程式充斥一堆static的function和自己硬幹的詭異方法...
: 主要的理由是因為公司的程式是裝在一台伺服器,當作產品賣出
: 為了節約硬體資源,所以要避免過多的物件導向概念...
: 想請問一下各位前輩事實真的如此嗎?
: 假如是以前的電腦還有可能有這樣的問題發生,但是現在電腦都那麼快
: 頻繁的產生instance會影響到系統效能嗎?
: 而且沒有物件導向概念的程式,真的會看到吐血,所有東西都混雜在一起!
: 之後,維護起來一定是個大災難,連基本的分層概念都沒有...
: 麻煩有相關經驗的前輩,提供一下相關資訊,
: 真的將系統物件導向化會導致系統效能下降嗎?
: 謝謝~
--
寫程式是一種信仰,
寫得出來是一種藝術,
寫不出來是一種哲學。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.9.109
→
05/26 00:36, , 1F
05/26 00:36, 1F
→
05/26 00:45, , 2F
05/26 00:45, 2F
推
05/26 00:50, , 3F
05/26 00:50, 3F
推
05/26 00:52, , 4F
05/26 00:52, 4F
→
05/26 00:56, , 5F
05/26 00:56, 5F
→
05/26 00:57, , 6F
05/26 00:57, 6F
→
05/26 01:41, , 7F
05/26 01:41, 7F
→
05/26 01:42, , 8F
05/26 01:42, 8F
→
05/26 09:43, , 9F
05/26 09:43, 9F
→
05/26 10:07, , 10F
05/26 10:07, 10F
→
05/26 10:10, , 11F
05/26 10:10, 11F
→
05/26 10:12, , 12F
05/26 10:12, 12F
→
05/26 11:10, , 13F
05/26 11:10, 13F
→
05/26 11:11, , 14F
05/26 11:11, 14F
→
05/26 11:50, , 15F
05/26 11:50, 15F
→
05/26 12:13, , 16F
05/26 12:13, 16F
→
05/26 12:14, , 17F
05/26 12:14, 17F
→
05/26 12:17, , 18F
05/26 12:17, 18F
→
05/26 12:18, , 19F
05/26 12:18, 19F
→
05/26 12:18, , 20F
05/26 12:18, 20F
→
05/26 20:07, , 21F
05/26 20:07, 21F
討論串 (同標題文章)
本文引述了以下文章的的內容:
請益
13
80
完整討論串 (本文為第 48 之 52 篇):
請益
6
13
請益
8
58
請益
1
54
請益
0
27
請益
2
21
請益
8
99
請益
5
66