armstrong 发表于 2019-3-15 11:04:49

Java与dotnet性能比较,.net core强多了!

对于java和.net core的性能比较,用网上的代码测试了一遍https://blog.csdn.net/hez2010/article/details/86551299
测试代码打包在此
我的电脑是这样的

.net core版本是v2.2.3;
java版本是jdk1.8.0_201。
测试结果基本上和网上作者差不多:.net core 比java性能强多了,设想接近4倍的性能差异,云服务器价格会贵多少!
java的优势就是组件多,生态丰富;但愿作为后起之秀的.net core总有赶上的希望吧。
以下是我的测试截图

墨非 发表于 2019-3-15 11:24:37

顺道测一下golang 呗{:lol:}{:lol:}

armstrong 发表于 2019-3-15 11:27:45

墨非 发表于 2019-3-15 11:24
顺道测一下golang 呗

我不会golang啊,强烈要求你来补上golang!

w282529350 发表于 2019-3-15 11:29:52

大家好才是真的好

qiqirachel 发表于 2019-3-15 11:51:32

8700K +16G内存现在是标配啊

nanfang2000 发表于 2019-3-15 11:51:50

Java的脚本动态性更强吧,类似Python,所以慢

armstrong 发表于 2019-3-15 11:53:32

qiqirachel 发表于 2019-3-15 11:51
8700K +16G内存现在是标配啊

还得加个PCIe接口的SSD(NVMe规范)。

wudicgi 发表于 2019-3-15 12:00:04

用 FFT 测的性能?不同的 FFT 实现可能性能差距很大吧

armstrong 发表于 2019-3-15 12:06:25

wudicgi 发表于 2019-3-15 12:00
用 FFT 测的性能?不同的 FFT 实现可能性能差距很大吧

是源码测试的,人家测试代码当然是用相同的算法了,java和C#语法何其像啊!

wudicgi 发表于 2019-3-15 12:23:31

armstrong 发表于 2019-3-15 12:06
是源码测试的,人家测试代码当然是用相同的算法了,java和C#语法何其像啊! ...

不好意思,没看贴出来的 blog 文章

我从来不怀疑 Java 性能比 .NET 低很多,只是之前接触过一些 C# 编写的 FFT 实现,有的开源的库就比商业的性能差不少,商业的甚至是多线程的实现

jasonzhu8888 发表于 2019-3-15 12:34:35

armstrong 发表于 2019-3-15 12:06
是源码测试的,人家测试代码当然是用相同的算法了,java和C#语法何其像啊! ...

看似算法一样。但里面用的具体语句实现,可能会产生极大的差异。
比如,数组,这东东其实在java中的效率是比较低的。

armstrong 发表于 2019-3-15 12:37:07

jasonzhu8888 发表于 2019-3-15 12:34
看似算法一样。但里面用的具体语句实现,可能会产生极大的差异。
比如,数组,这东东其实在java中的效率 ...

那当然了,这不就是语言和平台的局限所致么。

XIVN1987 发表于 2019-3-15 12:39:52


我觉得这就是一种特定情况,,不能整体说明java和.net的性能对比,,意义不大

别说.net,,就是C++也不可能整体上比java快4倍,,jvm这么多年来被各个大公司砸钱优化,不可能性能很差

armstrong 发表于 2019-3-15 12:43:07

XIVN1987 发表于 2019-3-15 12:39
我觉得这就是一种特定情况,,不能整体说明java和.net的性能对比,,意义不大

别说.net,,就是C++也不可 ...

java性能不算差,比python快多了;只是.net core比java再快上那么点点。
事实上这些平台各有优势,性能在这些优势里不算重要。

浮华一生 发表于 2019-3-15 12:54:45

nanfang2000 发表于 2019-3-15 11:51
Java的脚本动态性更强吧,类似Python,所以慢

你是不是对java 和 javascript 傻傻分不清啊? {:lol:}

ztrx 发表于 2019-3-15 13:10:01

对于软件成本来说,硬件成本不算啥

armstrong 发表于 2019-3-15 13:23:12

ztrx 发表于 2019-3-15 13:10
对于软件成本来说,硬件成本不算啥

开发过程确实如此;可到了运营过程,boss们就会想着怎么来降低硬件开销了。

ztrx 发表于 2019-3-15 13:25:28

python跑ERP的多了去

armstrong 发表于 2019-3-15 13:34:28

ztrx 发表于 2019-3-15 13:25
python跑ERP的多了去

现代的电脑跑个ERP真不算什么挑战,这里就是你说的软件开发成本考虑为重了。
我说的场景是部署在云服务器上的应用,这些服务可能会遇到成千上万个服务请求同时出现;对性能的要求可要苛刻得多。

ArthurBruin 发表于 2019-3-15 14:02:49

楼主很有心,学习了

dragonlands 发表于 2019-3-15 15:01:36

我擦,我跟不上时代了,我还停留在petstore和petshop的对比中

4058665 发表于 2019-3-15 20:08:50

对.net有些绝望   但希望越来越好小型应用搭建非常快   
楼主的测试环境是在win上不能挖掘出最大的性能
另外jvm还有各种调优呢   性能也会提高不少

daiqx 发表于 2019-3-15 20:44:59

不用担心语言的性能,在web的应用绝大部分场合语言层次的性能不是问题。

7073640 发表于 2019-3-15 21:05:45

你是windows测的,没用linux测试吧

armstrong 发表于 2019-3-15 21:25:33

7073640 发表于 2019-3-15 21:05
你是windows测的,没用linux测试吧

下面是centos7系统下的比较,差距比windows下小,大约2倍。

FireBrain 发表于 2019-3-15 21:29:58

性能再好也没用,java强大的生态需要dotnet再追赶几年

daiqx 发表于 2019-3-15 22:17:45

定位不同。java现在的生态都在web开发上,c#要追赶它的也是这个目标。这种颗粒度的比较没意思的,就算c# 自己也有这类似的取舍。比如以前的ado.net和现在的ef,以前的性能更好但现在主力是ef

huangqi412 发表于 2019-3-15 22:48:13

php是最好的语言

jasonzhu8888 发表于 2019-3-15 22:49:08

armstrong 发表于 2019-3-15 12:37
那当然了,这不就是语言和平台的局限所致么。

这个算不上是局限,不同的东西而已。
不过.net以后也能跨平台,也是多了一个选择,希望winform等能够尽快支持。开发客户端就比较方便了。

liwei_jlu 发表于 2019-3-16 00:39:49

huangqi412 发表于 2019-3-15 22:48
php是最好的语言

没用,这个论坛要说:stm32是最牛的单片机

icoyool 发表于 2019-3-16 00:42:51

不是每个人都需要一把屠龙刀才能杀鸡的

sun_sky 发表于 2019-3-16 00:53:36

现在开发软件还考虑运行速度吗,一般只会考虑开发的便利性,可阅读性,可扩展性,项目的开发周期等等因素,运行的速度是不被考虑的因素,除非你的程序有特殊的要求。
Java的架构已经被广大系统开发者所接受了,架构和库已经很成熟。Java最成功的地方我认为就是降低了对程序员的要求,软件工程的很多理论在Java中得到了很好的实现。
如果非要考虑性能,Java是用集群类的方式解决,方案很成熟,程序员什么也不用考虑,不用学习新的东西,Java的架构帮你解决。
还有一个解决性能的办法,那就是莫尔定律。
用FFT测试性能,对Java是不公平的,因为Java的长处不在数学运算。
我也认为Java的性能很差,尤其在它的擅长领域中,因为使用了架构后,不断地封装,性能无法高。
看中性能而选择开发工具,我认为除了汇编,没有开发工具会高于C语言,一般情况语言越高级,实现的越复杂,使用者越方便,效率也就越低。

liangerfan 发表于 2019-3-16 13:26:47

新出的运行速度不快点的优点还能吸引人吗

modbus 发表于 2019-3-16 17:46:42

有没有C#和C++做FFT运算的性能比较

brentcao 发表于 2019-3-16 18:45:39

语言是项目定的,不是你想用什么语言就什么语言的,除非全新的项目。但全新项目语言选择也受相关项目影响的。

浮华一生 发表于 2019-3-16 20:05:27

sun_sky 发表于 2019-3-16 00:53
现在开发软件还考虑运行速度吗,一般只会考虑开发的便利性,可阅读性,可扩展性,项目的开发周期等等因素, ...

也不尽然啦。 不然他们为啥搞贵州云呢? 哈哈。硬件还是烧钱的。选择哪个其实也是成本使然。

DevLabs 发表于 2019-3-16 22:21:26

Java生态强, 人才多, 比如python性能不咋滴, 但人家库多啊. 对性能有要求的部分, 都用C/C++/ASM写了.

-----------
我不会Java, 也不会C#, 也不懂Python{:lol:}

dogg 发表于 2019-3-16 23:49:24

Java的性能从来都不是重点,重点是开发效率,人好不好找,架构是否成熟,成本是不是够低。

sun_sky 发表于 2019-3-17 20:45:02

浮华一生 发表于 2019-3-16 20:05
也不尽然啦。 不然他们为啥搞贵州云呢? 哈哈。硬件还是烧钱的。选择哪个其实也是成本使然。 ...

您说的贵州云我不清楚,但阿里云我清楚,就是个出租服务器的地方吗!
我认为云计算应该是分布式计算的概念,这方面是java的长处,dotNET也擅长,但比较成熟的方案没有JAVA多。
您想说的应该是超算的概念吧,比如用来计算大气的运动。模拟核反应的计算,那场合C或C++应该是不二的选择(还有FROTRAN)。

浮华一生 发表于 2019-3-17 22:03:53

sun_sky 发表于 2019-3-17 20:45
您说的贵州云我不清楚,但阿里云我清楚,就是个出租服务器的地方吗!
我认为云计算应该是分布式计算的概 ...

其实我想说是维护成本吧,对应性能上的考量。 性能好的实现对硬件要求相对较低,那维护成本也会相应降低。 比如用JAVA 需要Intel, 但是用C 使用ARM就行。 但是前者功耗则比较大,投产后,硬件成本就有所考量了对吧。

gonboy 发表于 2019-3-19 09:11:30

看到java工程师写代码,严重怀疑人生。 哎,这编程...

brentcao 发表于 2019-3-19 09:26:46

Java和C#没有必要去谈性能,需要性能就找C或者C++,Java之类是谈开发效率和开发成本。

dog 发表于 2021-9-8 09:42:24

两个不一样的东西,有什么可比性呢?
PHP是世界上最好的语言。
低调低调

adswads 发表于 2021-9-8 13:55:56

JAVA写过点小东西,真不顺手,对个人而言,同样的功能,开发效率比C#低了不只1倍
页: [1]
查看完整版本: Java与dotnet性能比较,.net core强多了!