看板 Soft_Job 關於我們 聯絡資訊
※ 引述《sunlights (sunlights)》之銘言: : : 看起來C#的效能是最優的..為什麼 : : java的使用率仍是超越.net的呢? : : http://tinyurl.com/qyos7vg : 有人說java連資料庫部份沒用pool所以會很慢.. : 我加了pool commons-dbcp2-2.0.1.jar : import org.apache.commons.dbcp2.BasicDataSource; : BasicDataSource dataSource = new BasicDataSource(); : dataSource.setDriverClassName("com.mysql.jdbc.Driver"); : dataSource.setUrl("jdbc:mysql://localhost:3306/xxxx"); : //dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver"); : //dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:xe"); : //dataSource.setDriverClassName("net.sourceforge.jtds.jdbc.Driver"); : //dataSource.setUrl("jdbc:jtds:sqlserver://localhost/xxxx;instance=SQLEXPRESS;useUnicode=true;characterEncoding=UTF-8"); : dataSource.setUsername("user"); : dataSource.setPassword("pass"); : 新的測試資料如下 : select 13446 data use mysql : java 0.052(原0.054) : loop select 21 times use mysql : java 0.054(原0.143) : select 13446 data use oracle : java 0.06(原2.36) : loop select 21 times use oracle : java 0.096(原0.335) : select 13446 data use mssql(express) : java 12.435(原6.26) : loop select 21 times use mssql(express) : java 12.432(原129.451) : 這樣測起來資料庫速度並沒有比php和.net快... : 是不是哪裡有問題?? : 還是事實就是如此呢? : ps:因為php7連mssql的dll還沒有.所以我mssql用php5測 效能並非唯一考量,有時候甚至不是前三考量 就算效能差一倍好了,時間很短的時候根本沒差 10ms跟20ms差一倍,實際感覺上根本毫無差別 實務上大部份運算都是小量的,也就是說會在100ms以內結束,在這範圍內效能並非重點 要一次select一萬筆以上資料的情況很少 你什麼時候進一個網頁還是一個app,一次顯示一萬筆給你的?沒有嘛 都會分批讀取,分頁顯示呀 實務上考量,通常前幾優先是開發速度,開發與維護成本,平台成熟度,使用者體驗 接下來是第三方library多不多,生態圈大不大,技術普及度,好不好找到文件跟支援 效能是在以上都滿足之後再在已經選擇的語言跟平台上尋求最佳化 除非是某些特殊例子,像是硬體條件很有限如物聯網的小sensor 效能才會被拉到比較高的優先順序 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.210.239 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1450747690.A.49C.html
typepeter: 中肯 程式本質是工具 12/22 09:33
femlro: 韌體吧 韌體就很要求時間複雜度@@ 12/22 09:58
femlro: 早期電腦 時間空間複雜度都很重要 現在連手機都2G RAM 12/22 09:59
femlro: 時間複雜度也被CPU快速升級重要話漸漸被稀釋 12/22 09:59
femlro: 彈性(維護)跟開發速度真的重要很多@@ 12/22 09:59
CaptainH: java寫起來好囉唆...有沒有比較好寫又能轉成java byteco 12/22 10:02
CaptainH: de的語言啊? 試過 scala 可是編譯速度太慢了 12/22 10:02
Killercat: 那只好推groovy了 12/22 10:50
Killercat: ....不過groovy好像也沒有快到哪去 12/22 10:56
candyhu079: 可以試試kotlin 12/22 11:11
dreamnook: 複雜度其實還是能處理就處理 12/22 11:57
dreamnook: ....雖然可能是最近寫code寫太醜所以複雜度影響超明顯 12/22 12:00
dragonyy: Java 8 (+ lambda) 已經沒有那麼囉嗦囉 12/22 12:21
Lordaeron: 嗯,每個人的實務不一樣. 12/22 12:58
Killercat: kotlin現在算獨家規格(JetBrains),還沒普及以前 12/22 16:27
Killercat: 拿來玩玩看看就好,還是等普及一點再用在工作上 12/22 16:27
ntddt: 真的只追求效能的話就都用最低階的寫~ 12/22 20:49
Lordaeron: 以上的說法,現在最適合的就是:PYTHON 12/22 21:03
Lordaeron: 請改用PYTHON,就FULLY MATCH 了. 12/22 21:03
leicheong: 的確. 求資料庫存取效率倒不如在SQL層面上弄. 12/22 21:21
leicheong: 今天剛改了一個SP, 本來用cursor跑2分36秒, 我改用 12/22 21:21
leicheong: pivot後只需14秒... 12/22 21:22
GoalBased: 最近改了一個功能從本來2小時變成5分鐘內 12/22 22:33
GoalBased: 因為之前有BUG阿~~~ 12/22 22:33
leicheong: 我的那個倒不是有bug, 只是現在有更高效率的做法而已. 12/22 23:01