我现在刷题大概才刷了1/3,然后我看了一下各个语言的Runtime Distribution
不用说,C/C++总是是最靠前,让我好奇的是
我刷了这1/3的题里java的整体分布或者是平均值在js/python前的次数屈指可数|∀` )
感觉有点不科学,静态编译的语言不是应该比动态语言快么
难道是leetcode的统计系统不够完善么
顺带一提js同一份源码提交上去时快时慢,浮动幅度十分大啊。这又是什么原因Σ( ゚д゚)
1
df4VW 2015-06-03 09:30:34 +08:00
Cuz its nodejs 0.12.3
|
2
fangjinmin 2015-06-03 09:31:04 +08:00
可能是因为JVM太慢了。
|
3
braineo 2015-06-03 09:33:06 +08:00
虚拟机启动时间?
|
4
tabris17 2015-06-03 09:40:28 +08:00
像LeetCode这种平台,Python,Ruby环境支持安装第三方包/组件么?
|
5
morethansean 2015-06-03 09:44:03 +08:00 1
V8也是有点水平的好吗!
|
6
Narcissu5 2015-06-03 09:49:26 +08:00
估计是HotSpot的原因,java只有在有一定运行信息之后才开始优化
|
7
oott123 2015-06-03 09:51:39 +08:00 via Android
难道不是本来就比不过…(我是来黑的
|
8
9hills 2015-06-03 10:10:49 +08:00 via iPhone
Java热起来,表示可以和C++刚正面
|
9
neilwong 2015-06-03 10:17:26 +08:00
凭什么看不起我大js,来来来,楼主咱俩来撕逼
|
10
fszaer OP |
11
ledzep2 2015-06-03 10:24:36 +08:00
楼上真幽默. v8会把可以编译成native code的代码编译运行, 性能直逼native. java始终还是有个vm. 所以v8某些时候会快些.
|
12
wy315700 2015-06-03 10:31:08 +08:00
不知道leetcode怎么统计的
我们以前做OJ的时候, 整个程序的执行时间不仅仅是你写的代码的运行时间,是整个命令的运行时间 也就是说 如果是JAVA的话,是整个 javac Main.java 的时间, 包含了 javac 程序本身加载,编译,运行等时间。 所以除了C/C++是不计算编译的时间,是直接运行二进制的,其他的都要算上编译时间的,所以静态编译并没有什么优势。 一般设置超时的时候,JAVA的时间是C的三倍。 @9hills @fangjinmin @braineo @fszaer |
13
101 2015-06-03 10:47:17 +08:00
说 V8 快的是忘了 Java 还有 JIT 吗?快不快上数据吧
|
14
loryyang 2015-06-03 11:16:33 +08:00
我以前听别人介绍过,这个java运行时间包括启动jvm的时间
正常java不可能会去频繁启动停止jvm的,所以这个时间没有意义 |
15
Cloudee 2015-06-03 11:19:36 +08:00 via iPhone
虚拟机启动慢,预热起来(方法执行一定次数才会jit等等)也需要时间
|
16
nomoon 2015-06-03 11:50:40 +08:00
他们中间改过计算方法,现在java应该是能跑过脚本语言的。但是历史数据原因。。。你懂的。。。
|
17
messyidea 2015-06-03 12:18:40 +08:00 via Android
应该是java读入比较慢吧
|
18
fszaer OP |
19
erichuang1994 2016-05-09 00:01:44 +08:00
然而现在 leetcode 上 JAVA 就比 C 慢了
|