Re: [請益] java的效能!?
在回應之前,先講都有股票的看盤系統,
這種講求即時性的 server 是用 J2EE 的實作了,
web 這塊語言的效能其實真的還是其次,
我認知的 web 瓶頸不在 java 執行的效能,
而在 db / web service / server response time 。
原 po 問 web 專案,跑去討論 java vs c++ 的效能,其實真的是有點偏了。
→
05/21 12:09,
05/21 12:09
→
05/21 12:09,
05/21 12:09
→
05/21 12:09,
05/21 12:09
→
05/21 12:09,
05/21 12:09
→
05/21 12:10,
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
05/22 15:19, 2F
→
05/22 15:35, , 3F
05/22 15:35, 3F
→
05/22 16:27, , 4F
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
05/22 19:41, 8F
→
05/22 22:02, , 9F
05/22 22:02, 9F
→
05/22 22:03, , 10F
05/22 22:03, 10F
→
05/22 22:04, , 11F
05/22 22:04, 11F
推
05/22 23:43, , 12F
05/22 23:43, 12F
推
05/24 14:00, , 13F
05/24 14:00, 13F
推
05/27 23:57, , 14F
05/27 23:57, 14F
討論串 (同標題文章)
Soft_Job 近期熱門文章
PTT職涯區 即時熱門文章
54
152