Re: [請益] java的效能!?

看板Soft_Job作者 (ya)時間14年前 (2011/05/25 08:40), 編輯推噓8(8091)
留言99則, 9人參與, 最新討論串47/52 (看更多)
※ 引述《TonyQ (沉默是金。)》之銘言: : ※ 引述《HYL (@EVERYWHERE)》之銘言: : : → sayya2311:不要做過多假設..假設自己還比能系統考慮得更多? 假設 05/25 00:01 : : → sayya2311:程式還不夠完美? 假設loading只是定量? 也許你們還有更 05/25 00:01 : : → sayya2311:多想像, 但再多假設也不會比"沒有任何假設"更真實. 05/25 00:02 : 身為一個 framework 開發者, : 我會說沒有人寫程式是沒有任何假設的。 : 事實上我們討論議題本來就是基於各種合理的假設去進行討論, : ex.討論 Java App 時大概都會假設這不是 fps game , : 討論 web 時假設 user 會concurrent多人, : 加上mutliple servlet thread access。 : 即使是寫程式也會考慮到之後走哪條路線比較快, : 舉例來講,用 max heap 實作 A* 就比用List實作 A* 快上很多倍。 : 很多假設根本就是在因為自己覺得太過合理的情況下被忽略掉了, : 只准自己假設 gc 之後只能等著噴 outofmemory , : 不准別人假設程式還有優化空間,那還有什麼好討論的。 : (有時候也不見得是優化,是拿時間換記憶體降低,像是改檔案io access。) : 真實的程度是你假設的條件有多貼近事實, : 有假設你更有機會逼近事實, : 沒假設一輩子你都停在原地不用前進。 : 通常這是種猜,但是填空題你不自己填上去, : 留白看起來好像很真實,但事實上一點進展也沒有。 : 幾乎沒有程式背後是不隱含的假設的, : 除非你視而不見。 預測比假設更好, 因為太出於自想像的的假設, 不會進入預測時考慮的範圍 在某個時間點, 程式設計師該有能力預測接下來的災難, 我認為是很正常的 而對於, GC卻無效果, 接下來會Out of memory這件事, 也是的預測沒錯 因為一個人能預測多少東西, 取決於他對現況能掌握多少 視野不同或是視而不見, 也許你認為我是後者, 我沒啥異議 但我知道VM的能耐, 說真的大部份對於GC的考量都是最佳化用, 不是救命用 也知道眾多如Scala新語言等發展的趨勢, 舉個例來說, 以stateless取得高度平行的能力 如果對於string連接, new太多物件等情形讓人忍不住假設? 那看到Scala的var與list運算會讓人更嚇一跳.. 也許吧, 你們仍可繼續假設更多的東西, 說我錯得更多 我還是只能說, 那不一定會在我的考慮範圍.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.8.134

05/25 08:47, , 1F
如果預測內容是「不手動呼叫GC就一定會OOM」,這就太悲觀了
05/25 08:47, 1F

05/25 08:50, , 2F
例如說,記憶體大小、實際物件的產生量、系統 Loading 都不
05/25 08:50, 2F

05/25 08:51, , 3F
清楚的話,這樣的預測其實不見得會成立
05/25 08:51, 3F

05/25 08:52, , 4F
而且過量呼叫 GC 反而拖慢系統的例子也是不少
05/25 08:52, 4F

05/25 09:11, , 5F
所以有些人基於這些假設不會去選擇你說的這些動態語言啊
05/25 09:11, 5F

05/25 09:11, , 6F
沒人說你錯,你可以發表你的意見,只是其他人的意見不一定跟
05/25 09:11, 6F

05/25 09:11, , 7F
你一樣。沒有人是「對」的。至少目前還沒有。
05/25 09:11, 7F

05/25 09:11, , 8F
只有能不能認同的差異。
05/25 09:11, 8F

05/25 09:12, , 9F
你可以提出假設不符現實的可能性,讓觀看者去決定他們要
05/25 09:12, 9F

05/25 09:12, , 10F
相信哪些假設。比方說銀行板就有個經典例子,國外刷卡若不考
05/25 09:12, 10F

05/25 09:13, , 11F
慮匯差,是否手續費其實沒有比較貴。這個假設就被打爆了,
05/25 09:13, 11F

05/25 09:13, , 12F
事實上你幾乎不可能不考慮匯差。
05/25 09:13, 12F

05/25 09:14, , 13F
或者是提出你認為更合理的幾組可能假設,這樣才是對討論有幫
05/25 09:14, 13F

05/25 09:15, , 14F
助的。事實上寫程式你大可以假設程式沒有問題,演算法有考慮
05/25 09:15, 14F

05/25 09:15, , 15F
到但也還是碰到OOM的情況,這也是一種假設。
05/25 09:15, 15F

05/25 09:15, , 16F
問題是哪種狀況比較多,是大家比較關注的議題而已。
05/25 09:15, 16F

05/25 09:38, , 17F
有人可以解釋一下他想表達甚麼嗎...?
05/25 09:38, 17F

05/25 10:57, , 18F
有型別推論不等於動態, 基本上在compile後, Scala==Java
05/25 10:57, 18F

05/25 10:58, , 19F
否則舉它當例子就沒意義.
05/25 10:58, 19F

05/25 10:59, , 20F
ok,我假設程式沒有問題,演算法有考慮,如果你看待這是有
05/25 10:59, 20F

05/25 10:59, , 21F
需要的假設而不只是烏賊的煙霧的話.
05/25 10:59, 21F

05/25 12:08, , 22F
「預測」和「假設」,真的不同嗎? 別玩文字遊戲吧,卻
05/25 12:08, 22F

05/25 12:25, , 23F
樓上相信氣象預測還是氣象假設?
05/25 12:25, 23F

05/25 12:26, , 24F
寫程式時要"假設"是沒錯~但也要"合理的假設"~例如明明只有
05/25 12:26, 24F

05/25 12:26, , 25F
幾十個人在用的封閉系統~寫的時候卻要假設它有上萬個使用
05/25 12:26, 25F

05/25 12:28, , 26F
者?我記得最經典的是:為了防使用者砍錯檔案造成程式不能執
05/25 12:28, 26F

05/25 12:28, , 27F
..我怎麼覺得到這篇變成有點在玩文字遊戲了..
05/25 12:28, 27F

05/25 12:29, , 28F
行~所以要在程式執行前自動修復→這真的有必要嗎?
05/25 12:29, 28F

05/25 12:29, , 29F
預測...假設...如果...預知...假如...萬一...
05/25 12:29, 29F

05/25 12:30, , 30F
不合理的假設~只是累死自己罷了...
05/25 12:30, 30F

05/25 12:32, , 31F
把本篇有"預測"的字眼 換成"假設" 好像是一樣意思
05/25 12:32, 31F

05/25 12:32, , 32F
還是不太懂原PO要表達的
05/25 12:32, 32F

05/25 12:35, , 33F
樓上,回到前二篇,把你寫過的假設代換成預測,看一不一樣?
05/25 12:35, 33F

05/25 12:43, , 34F
啊?我沒寫過假設的文呀?
05/25 12:43, 34F

05/25 12:44, , 35F
玩文字遊戲,我也愛玩, 預測可以是無根據的,例如511
05/25 12:44, 35F

05/25 12:44, , 36F
假設,也可以是有根據的,例如假設未來系統的loading
05/25 12:44, 36F

05/25 12:45, , 37F
例如系統假設是以1億連線/instance 為設計目標.
05/25 12:45, 37F

05/25 13:01, , 38F
從開討論串以來, 從沒有過嚴謹的要求(建立程式與演算法
05/25 13:01, 38F

05/25 13:02, , 39F
無問題的前提),與最模擬兩可的態度同時在這兩篇.(預測與
05/25 13:02, 39F

05/25 13:02, , 40F
假設的語意可混淆), 如果不能取舍其中一種,說再多也不會
05/25 13:02, 40F

05/25 13:02, , 41F
有結論.
05/25 13:02, 41F

05/25 13:04, , 42F
哈.....開發系統,從來都是按照某目標去做,頂多叫假設
05/25 13:04, 42F

05/25 13:05, , 43F
你系統都未寫好,真實的user 都還未用, 哪來預測?
05/25 13:05, 43F

05/25 13:06, , 44F
所以, 我用"預設"
05/25 13:06, 44F

05/25 13:07, , 45F
從辯預測out of memory辯到系統開發?
05/25 13:07, 45F

05/25 13:08, , 46F
你也無法預測outofmemory啊, 你這等本事?比java之父還神
05/25 13:08, 46F

05/25 13:14, , 47F
outofmemory的時機是寫在文件上的,任何人皆可看它來預測
05/25 13:14, 47F

05/25 13:15, , 48F
哪你一定比java 之父還神了, 強.
05/25 13:15, 48F

05/25 13:25, , 49F
想問一下,它的時機寫在哪裏啊?它上面寫了什麼?
05/25 13:25, 49F

05/25 14:23, , 50F
嗯..樓上突然也想變得比java之父還神?
05/25 14:23, 50F

05/25 14:30, , 51F
他只是想知道寫在哪裡, 寫了些什麼吧~ XD
05/25 14:30, 51F

05/25 14:51, , 52F
因為我想知道看了什麼才可以變神,我可不想吃三柱香或
05/25 14:51, 52F

05/25 14:52, , 53F
阿里路呀
05/25 14:52, 53F

05/25 15:33, , 54F
out of memory 的時機會寫在文件? 那我也要來請益一下了
05/25 15:33, 54F

05/25 15:34, , 55F
要如何得到這樣的資訊~
05/25 15:34, 55F

05/25 17:19, , 56F
樓上如果是認真的, 那我可以告訢你VM判斷Out of Memory
05/25 17:19, 56F

05/25 17:20, , 57F
Exception丟不丟, 的確完全取決於GC進行的成果如何,剩下
05/25 17:20, 57F

05/25 17:20, , 58F
的請自己google. 如果是想搗亂的? 那也許請樓樓上幫忙要
05/25 17:20, 58F

05/25 17:21, , 59F
一下Java之父的電話, 他的祕密還是讓他老人家自己公佈.
05/25 17:21, 59F

05/25 18:15, , 60F
我從java 1.0用到現在,都還未見過out of memory
05/25 18:15, 60F

05/25 18:16, , 61F
exception, 所以我確定沒你強
05/25 18:16, 61F

05/25 18:16, , 62F
只得請你幫個忙
05/25 18:16, 62F

05/25 18:16, , 63F
我認真的啊! 怎麼這麼說~我想多學點東西~
05/25 18:16, 63F

05/25 18:26, , 64F
還有重點,james gosling 講過,他不知道,他無法預測
05/25 18:26, 64F

05/25 18:26, , 65F
05/25 18:26, 65F

05/25 18:27, , 66F
但你老兄可以, 當然要問你囉, 不然去問誰呢
05/25 18:27, 66F

05/25 19:10, , 67F
The Realtime Specification for Java?
05/25 19:10, 67F

05/25 19:10, , 68F
樓上的,你有看過文件嗎? 讀懂嗎?
05/25 19:10, 68F

05/25 19:11, , 69F
請你看看就知囉.
05/25 19:11, 69F

05/25 21:11, , 70F
哦, 你用JDK的跟我們用的JDK不一樣?請問成品在哪?
05/25 21:11, 70F

05/25 21:12, , 71F
繼續....
05/25 21:12, 71F

05/25 21:18, , 72F
本來期待會回:什麼跟什麼?...
05/25 21:18, 72F

05/25 21:19, , 73F
我才期待呢,結果給個spec 我幹嘛,我又不寫JDK
05/25 21:19, 73F

05/25 21:19, , 74F
更別說,你還是沒回,哪一套jdk有support 你講的東西
05/25 21:19, 74F

05/25 21:20, , 75F
你比james gosling強的人呢, 快給出來吧,別扯了
05/25 21:20, 75F

05/25 21:32, , 76F
樓上啊,那標題是你給我的?不是我給你的啊?james Gosling
05/25 21:32, 76F

05/25 21:32, , 77F
訪談的副標題啊..
05/25 21:32, 77F

05/25 21:45, , 78F
-_-"真能扯呢,我還在等你講寫在哪告訴你如何預測
05/25 21:45, 78F

05/25 21:46, , 79F
gc 發生呢, 你去扯副標幹嘛? 他就講了他無法預測了
05/25 21:46, 79F

05/25 21:46, , 80F
而你可以, 哪我當然要問你啊. 你本事比較大呢
05/25 21:46, 80F

05/25 21:47, , 81F
快講在哪份文件, 寫在哪吧. 另外java.lang.outofmemory
05/25 21:47, 81F

05/25 21:47, , 82F
只有error沒exception,我看到1.6 的文件了,也沒看到
05/25 21:47, 82F

05/25 21:48, , 83F
如果你有空, 也順便講一講在哪吧. 但沒空也沒關係
05/25 21:48, 83F

05/25 21:48, , 84F
主要還是想知道如何可以這麼神.
05/25 21:48, 84F

05/25 22:44, , 85F
他的意思並不是你以為的, 不過奇妙的是, 原本熱烈的眾人
05/25 22:44, 85F

05/25 22:45, , 86F
看見這卻突然靜悄俏了, 看樣子我的智力人氣都不如你啊,
05/25 22:45, 86F

05/25 22:45, , 87F
怎麼鬥下去啊? 如果有人敢接棒就交給他接棒, 如果沒人
05/25 22:45, 87F

05/25 22:46, , 88F
接棒你就當我在虎爛好囉.
05/25 22:46, 88F

05/25 22:52, , 89F
你要人看文件,我也想知道你所謂的文件在哪。
05/25 22:52, 89F

05/25 22:54, , 90F
不然你倒是說說它的意見是怎樣,不要只給反對意見而不解釋。
05/25 22:54, 90F

05/25 22:54, , 91F
沒人氣我個人是認為沒有任何具體內容可以討論的影響因素比較
05/25 22:54, 91F

05/25 22:54, , 92F
大,畢竟從實務技術瞬間跳到玄學領域,是跳的有點遠。
05/25 22:54, 92F

05/25 23:08, , 93F
不然是什麼? non-determinism 這個詞你懂嗎?
05/25 23:08, 93F

05/25 23:09, , 94F
我也沒人氣啊,是你人氣好啊,不然怎麼這麼多人想知道
05/25 23:09, 94F

05/25 23:09, , 95F
你口中的文件是哪一個, 寫在哪.
05/25 23:09, 95F

05/25 23:09, , 96F
更別說outofmemory exception了,我1.0寫到現在,都沒見過
05/25 23:09, 96F

05/25 23:10, , 97F
...不是吧! 我都跟你說我是認真的 結果你現在不打算講
05/25 23:10, 97F

05/25 23:10, , 98F
JDK 的document 有寫. 還望指正呢
05/25 23:10, 98F

05/25 23:10, , 99F
不要鬧了 快給點資訊吧! 我們都很好學的~趕快!認真點!!!
05/25 23:10, 99F
文章代碼(AID): #1Dt4_hxQ (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Dt4_hxQ (Soft_Job)