为什么ja20性能不上.NET8还有人在用?
你甚至根本不知道你自己在测什么,new一个大小为1000,000,000的数组出来然后只生成一个随机字节,unsafe用的也很迷惑,很难理解你想干什么。
我重写了:
C#
Ja:
你甚至根本不知道你自己在测什么,new一个大小为1000,000,000的数组出来然后只生成一个随机字节,unsafe用的也很迷惑,很难理解你想干什么。
我重写了:
C#
Ja:
在运行前进行了十次循环预热后,同样生成十亿长度的随机数组,.Net8Preview在我的上所用的时间为1965ms,而Ja20是801ms,所以相对而言.Net的老随机生成算法在生成速度方面不如Ja的Random,不过这也代表不了什么,因为伪随机数生成器的指标也不止一个生成性能。
从.Net6开始,未指定种子的Random会使用Xoshiro256**算法来生成随机数,而Ja也在Ja17中引入了新的RandomGeneratorAPI来指定不同的随机数生成器,可以这样得到一个基于Xoshiro256**的随机数生成器:
双方同样使用Xoshiro256**算法再进行以上时,.Net8Preview在我机器上花了86ms,而Ja20是327ms,实现方面的性能差距确实存在,这个主要原因是.Net为Xoshiro256**的Nextytes单做了实现,而Ja20是直接用的RandomGenerator的默认实现,这个默认实现也很糙,因此造成了差距。
前段时间我在OpenJDK这边开了一个PR来优化RandomGenerator的默认实现:
用我优化后的分支再进行花了160ms,速度快了一倍多,不过想和.Net一样快那就要给Xoshiro256**算法单实现nextytes方法了,如果我观察到这个方法的性能确实非常重要的话,我也会在这方面再进一步做些工作。
按题主评论区那样单个nextInt不预热这样测的话,.Net8Preview性能大概在JDK20和GraalVMforJDK20JIT模式之间,也算符合预期,有时间的话我再看看Ja这边的实现有没有可优化的地方。
今天给大家推荐8款免费电视端直播看剧软件,感兴趣的朋友可以下载试一试! 1、超级ITV 6.04免费看电视直播,央视卫视高清秒播,还有电影电视剧少儿体育等。 2、小鲸电视 1.3.1小鲸电视是一款智能电视应用,集成了多个内容来源,包括腾讯视…
前些日子遇到了一位快递小哥,京东的,签收 小哥年纪不算大,目测二十多岁 他的手机上全是一道道极严重的划痕,有点卡, 他开热点了,热点名就是手机型号,红米9a,我父母的同款 现在他那边操作了一会,然后又是我这边操作了一会 小哥看着我手机刷刷的…
一点儿新进展,另外以下有部分需要关注 对于统一变量的问题。这个我在对比上面有写小字解释,我在一开始使用ffmpeg来控制变量。但是发现了不少问题,比如因为遗留bug,会强制将非整数帧的素材转码为VFR导致无法正确帧间对比,因此不考虑,同时尽…
真实个人经历。我就是从培训班出来的,但没有学完就跑出来了。当我明白什么人不管什么基础都能进培训班进行培训,学到什么程度都能保证他们包就业,我就知道不正常。我自己是大三下的时候去的,考研考到一半感觉无望,想抓紧时间学习技术,利用应届生身份准备…
开关接线图 PART 01一开单控开关接线图 二三开连体单控开关接线图 四开连体单控开关接线图 一开五孔单控插座接线图 二开五孔单控插座接线图 一开双控开关接线图 二三开单控开关接线图 四开单控开关接线图 一…
OPPO FindX8发布也差不多一个月了,各位上手体验如何呢? 作为OPPO的年度旗舰,性能,外观,屏幕等方面都有不小的提升,篇幅有限,下面挑最值得讲的两个点,就是OPPO Find X8的外观和影像。 众所周知,这次OPPO Fin…