[請益] 為何Java速度總是輸Python?
最近在玩Leetcode
每次寫完之後去看執行時間分布圖
發現大多時候Java群聚都是被甩到Python後面
照理說身為靜態語言的Java執行時間應該會比動態語言Python快才對不是嗎?
還是說要在迴圈很大的時候Java才會展現其優勢?
對語言的基礎原理不是很了解 感謝各位解答
PS: 我這邊是假設裡面的樣本夠多
所以不管用哪種語言的人所給出的演算法平均時間複雜度都應該很接近
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.173.173
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1434268438.A.57F.html
推
06/14 16:10, , 1F
06/14 16:10, 1F
推
06/14 16:53, , 2F
06/14 16:53, 2F
推
06/14 17:37, , 3F
06/14 17:37, 3F
→
06/14 17:38, , 4F
06/14 17:38, 4F
→
06/14 17:38, , 5F
06/14 17:38, 5F
→
06/14 17:40, , 6F
06/14 17:40, 6F
Leetcode上的程式執行時間的確都很短 Java跑的話大多在350ms左右
→
06/14 19:26, , 7F
06/14 19:26, 7F
推
06/14 21:00, , 8F
06/14 21:00, 8F
我會覺得Java應該要勝過Python是因為之前看到一篇文章
那篇文章是Goole在解釋為什麼要建造一個Java的deep learning framework
上面說雖然Python開發快 但是最後真的要拿來大量運算還是要改寫成C
(因為Python不夠快)
而Java的則是速度本身就夠快 寫完之後不需要在改寫成C
單就這段敘述 Java跑起來應該要能夠比Py快才對 不然也沒開發這架構的必要
→
06/14 21:22, , 9F
06/14 21:22, 9F
→
06/14 23:01, , 10F
06/14 23:01, 10F
→
06/14 23:03, , 11F
06/14 23:03, 11F
→
06/15 01:42, , 12F
06/15 01:42, 12F
我這邊不是說我個人的速度
是指上面全部的Java使用者的平均 VS Python使用著的平均
這幾天寫了快二十題 只看到一題是Java平均贏過Python平均
正常情況下這兩種使用者給出的平均時間複雜度應該相近
所以我才覺得這應該不會是演算法的問題
而且仔細懷想一下 這之間差距好像都蠻固定
或許真的是jvm所造成的時間差也不一定
※ 編輯: education (59.127.173.173), 06/15/2015 07:22:47
推
06/15 19:50, , 13F
06/15 19:50, 13F
→
06/15 19:51, , 14F
06/15 19:51, 14F
→
06/15 19:51, , 15F
06/15 19:51, 15F
→
06/15 19:51, , 16F
06/15 19:51, 16F
→
06/15 22:31, , 17F
06/15 22:31, 17F
推
06/15 22:57, , 18F
06/15 22:57, 18F
推
06/15 23:36, , 19F
06/15 23:36, 19F
推
06/16 05:09, , 20F
06/16 05:09, 20F
→
06/16 12:44, , 21F
06/16 12:44, 21F
→
06/16 12:47, , 22F
06/16 12:47, 22F
推
06/26 23:03, , 23F
06/26 23:03, 23F
Soft_Job 近期熱門文章
15
63
PTT職涯區 即時熱門文章