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

看板Soft_Job (軟體人)作者 (沉默是金。)時間15年前 (2011/05/22 15:15), 編輯推噓8(806)
留言14則, 11人參與, 最新討論串21/52 (看更多)
在回應之前,先講都有股票的看盤系統, 這種講求即時性的 server 是用 J2EE 的實作了, web 這塊語言的效能其實真的還是其次, 我認知的 web 瓶頸不在 java 執行的效能, 而在 db / web service / server response time 。 原 po 問 web 專案,跑去討論 java vs c++ 的效能,其實真的是有點偏了。

05/21 12:09,
Eclipse 其實本身是沒啥問題的,它的performance核心多在
05/21 12:09

05/21 12:09,
plug-in , 事實上以我的使用經驗 ,拿 mvs 跟eclipse 比我是
05/21 12:09

05/21 12:09,
覺得蠻不可思議的。
05/21 12:09

05/21 12:09,
*瓶頸
05/21 12:09

05/21 12:10,
有機會再來聊聊Eclipse 為什麼有時會慢,這跟架構有關系。
05/21 12:10
筆者自己參與過兩三隻 Eclipse plugin 的開發, Eclipse 本身基本上至少在我的機器上是很順的, 我開發 Eclipse plug-in 時, 同時要開三隻 Eclipse 去進行開發/測試, 基本上反應效率跟我當年用 MVS 實在是有得比。 (事實上 mvs 2003 -> 2005 肥到翻又慢, 當年用完 2005 我直接 uninstall 回 2003 , 或許 mvs 2008 有改善, not sure。) yes ,但有些時候他是慢的,我拿我知道的幾件事情來講。 在 Eclipse 裡面他是走 extension point 的觀念,讓人家掛東西, 只要它開了接口,別人掛進來的東西他都得照單全收, 高擴充性,任何人都可以簡單作新feature 。 ( mvs 不行,這是我覺得拿mvs跟eclipse這種可擴充的項目, 比較很有趣的原因,兩個的環境條件不一樣,詳情後敘。 ) 這就是問題所在。 ----------------------------------- 以我前陣子發的一隻 Embbed Jetty Launcher plug-in 來看, ( http://code.google.com/p/run-jetty-run/ ) 我需要在它的右鍵 run as / debug as 掛上 short-cut, 讓使用者可以輕鬆的右鍵在 edtior 或者 package/navatior explorer 上, 進行啟動該專案 jetty instance 行為。 但是有些 resource 又不在 web applcation 專案內, 比方說可能是完全無關的 java 專案, 所以我必須要判斷 resource 是我可以執行的。 這時候我就會寫 enablement extension , 他會在每次使用者右鍵選單時去掃我有沒有符合條件。 以我的例子來講我必須要scan整個project 判斷有沒有WEB-INF/web.xml, 今天假設他resource多到一個很誇張的程度(幾千萬筆資料?), 我的 alg 難免就會 slow down 到 Eclipse 的速度。 而且是使用者每次右鍵點到該專案 run as / debug as 就會 slow 喔。 難免會有不長眼的天兵做出很笨的 plug-in extension, 這問題跟 firefox 大多是被 add-on 拖垮效能是一樣的。 ----------------------------------- 還有一些根本就實作上的問題,像是我這隻 plug-in 是用來取代 WTP的, WTP 在launch web server 時 需要 copy 所有resource 到temp folder, 這件事情當然快不起來,以Run-Jetty-Run這隻的實作方案, 就是直接拿他現成的output直接用,不另外複製開關效率至少快上五倍。 也不用費心在 clean 它的 resource。 還有像 M2E 這種每次都需要去 fetch 很多網站, 要 index 回來 build dependency 的,當然會慢, 所以我覺得其實 Eclipse 早期雖然真的蠻慢的, 現在在架構上的改善已經都比以前好很多了。 當然因為開放式架構而造成的 slow down 也不是沒有, 我先前有去看一下 Eclipse edtior 的區塊怎麼寫的, 他是透過區域字串切分的方式去切每個不同的「token」, 因為每次內容改變,結構都有可能改變,所以一定要重新parse, editor 行數多跟行數少就會直接影響效能。 以我們家自己開發的 eclipse editor 來講,400~500 行的xml很快, 到七八千多行時就慢的跟龜一樣,因為每次都要重新解析 xml 。 不過這我想應該只要是 edtior 大概都逃不掉, 特別是在這種架構下的 editor。 Application 的 slow down 是需要 profiling 它的熱點, 莫名其妙的拿幾個 ap 來比是沒有意義的。 Java 的東西大多是在 launch 會慢,因為需要啟動 jvm, 用 jdownloader 這類 tool時就可以清楚感覺到這點, 但是執行時,不見得能到有感的程度。 但在 web server 上這點是無感的,因為server通常都開一次就跑很久, 開很久就讓他慢慢開就好了,反正有 load balance + fail over 可以用... -- 我:一半的日子讓你說,我聽你說你的所有______________________________________ ______________________________________一半的日子我想說,對你說過去的所有:我 _______________________________________________________ 在討論中妥善扮演兼具聆聽與分享的角色,是我們一生的課題。 _______________________________________________________ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.82.56.59 ※ 編輯: TonyQ 來自: 111.82.56.59 (05/22 15:15) ※ 編輯: TonyQ 來自: 111.82.56.59 (05/22 15:16) ※ 編輯: TonyQ 來自: 111.82.56.59 (05/22 15:17)

05/22 15:17, , 1F
其實阻礙點在花店~
05/22 15:17, 1F

05/22 15:19, , 2F
花店? XD
05/22 15:19, 2F

05/22 15:35, , 3F
種花店信 XD
05/22 15:35, 3F

05/22 16:27, , 4F
我think 你用了too much不必要的english
05/22 16:27, 4F

05/22 17:19, , 5F
糟了 我覺得這樣的英文剛剛好
05/22 17:19, 5F

05/22 17:44, , 6F
大家都這樣穿插英文吧,算正常
05/22 17:44, 6F

05/22 17:52, , 7F
專有名詞用英文還好吧?中文翻譯又沒有統一。
05/22 17:52, 7F

05/22 19:41, , 8F
專有名詞用英文比較好, 另外接口是指interface嗎?介面?
05/22 19:41, 8F

05/22 22:02, , 9F
接口是講 extension point . 他比interface還多一點東西
05/22 22:02, 9F

05/22 22:03, , 10F
文章是給人看得,哪些英文字讀不懂可以問。
05/22 22:03, 10F

05/22 22:04, , 11F
平常工作主要都用英文,突然叫我寫中文我還頗不習慣.orz
05/22 22:04, 11F

05/22 23:43, , 12F
這些英文這樣用算正常 +1
05/22 23:43, 12F

05/24 14:00, , 13F
這樣的英文很正常+1 翻譯成中文才詭異
05/24 14:00, 13F

05/27 23:57, , 14F
覺得英文這樣看得很順+1
05/27 23:57, 14F
文章代碼(AID): #1DsBW7br (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1DsBW7br (Soft_Job)