前两天水群,和别人扯到C++和Java的性能对比,感觉现在好多人已经不再说java慢了,甚至好多人认为java性能已经和C++差不多了。但是正好我司有个模块在尝试java转C++,这就引来大家的一片质疑,后来我在网上找到这样一份数据,大多数情况下C++无论在运行速度还是内存占用,比Java有更大的优势。
最终,我们讨论的结论是,java这些年来在性能上提升了非常多,甚至平均性能已经与C++不相伯仲了,但是在某些对性能要求极高的情况下还是不及C++。也就是说C++的性能天花板要比Java高一些。但反过来,Java的开发效率和其生态也是C++没法比。
整理后的数据如下,原文https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/java-gpp.html
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
3.32 |
609,712 |
2183 |
7.54 |
64% 44% 44% 76% |
C++ g++ |
2.93 |
980,716 |
2280 |
4.52 |
51% 23% 33% 51% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
3.13 |
37,364 |
938 |
3.36 |
99% 2% 3% 4% |
C++ g++ |
1.89 |
4,380 |
513 |
1.88 |
2% 99% 4% 2% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
2.32 |
42,212 |
2473 |
6.30 |
65% 85% 47% 76% |
C++ g++ |
1.33 |
1,740 |
2711 |
4.29 |
81% 81% 81% 82% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
17.98 |
31,180 |
1282 |
70.57 |
97% 99% 97% 99% |
C++ g++ |
10.12 |
1,852 |
980 |
39.95 |
100% 100% 96% 100% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
4.26 |
33,572 |
950 |
16.39 |
96% 96% 98% 95% |
C++ g++ |
1.98 |
1,164 |
1044 |
7.87 |
99% 99% 99% 100% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
8.39 |
960,056 |
835 |
27.39 |
81% 85% 74% 90% |
C++ g++ |
3.68 |
119,052 |
809 |
11.93 |
98% 76% 77% 78% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
22.00 |
32,272 |
1489 |
22.07 |
1% 0% 0% 100% |
C++ g++ |
9.42 |
1,704 |
1763 |
9.41 |
2% 100% 1% 0% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
8.74 |
470,116 |
1812 |
27.12 |
71% 73% 93% 74% |
C++ g++ |
3.73 |
156,080 |
1624 |
11.60 |
75% 70% 72% 96% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
6.96 |
76,316 |
796 |
27.06 |
97% 97% 97% 97% |
C++ g++ |
1.51 |
25,640 |
1791 |
5.99 |
100% 100% 99% 99% |
source |
secs |
mem |
gz |
cpu |
cpu load |
Java |
10.50 |
571,736 |
929 |
31.63 |
71% 73% 66% 92% |
C++ g++ |
1.83 |
203,520 |
1315 |
4.41 |
50% 45% 100% 49% |
Java
openjdk 11 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
C++ g++
g++ (Ubuntu 8.2.0-7ubuntu1) 8.2.0
原文中还有Java vs C, Java vs C#,Java vs Substrate VM的对比,java和C就差更多了,但是和C#旗鼓相当。
文章来源: xindoo.blog.csdn.net,作者:xindoo,版权归原作者所有,如需转载,请联系作者。
原文链接:xindoo.blog.csdn.net/article/details/86561994
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)