FFmpegOpenJDK17龙芯LoongArch版本
10天前,FFmpeg官网发布了FFmpeg5.0版,该版本除了增加了大量新功能外,还原生支持龙芯的LoongArch指令集。
今天,龙芯开源社区又发布了基于OpenJDK17的龙芯平台Java环境。
FFmpeg是被影音类软件大量使用的一个开源库,主要功能是编码、解码各种音频视频文件。几乎可以编码和解码所有的音视频格式、支持大量"滤镜"效果、支持硬件编码解码。市面上大多数的影音编辑类、影音播放类软件都以它为基础来实现更加丰富的功能。
以前龙芯的电脑上使用的FFmpeg是龙芯自己维护的分支,现在龙芯的LoongArch架构已经进入FFmpeg主线支持。像对x86、arm的支持一样,今后FFmpeg添加任何新功能、新特性也都会第一时间支持LoongArch。
FFmpeg在x86、arm架构的CPU上运行效率很高,因为代码中存在大量的针对x86、arm优化的汇编代码。在其它架构的CPU上,则主要使用c/c++的代码来替代这些更加优化的汇编代码,因此即使CPU性能相当,实际运行效率也会低很多。龙芯之前对自己维护的分支也添加了不少汇编代码优化,但总体上没有达到x86、arm的程度。在LoongArch进入FFmpeg主线之后,相信会有更多的开发者对其进行完善,使代码优化水平逐渐达到与x86、arm相当的程度。
Java是一种开发语言,也是一种程序运行环境。任何平台只要拥有符合规范的Java虚拟机软件,就可以运行使用Java语言开发的应用程序。Java程序跨平台运行时,不需要像C/C++这样的语言那样必须重新编译,也比解释型的脚本语言具有更高的运行效率。OpenJDK就是Java的功能包,提供Java程序开发和运行所需的各种API、Java虚拟机等基础环境。运行于龙芯平台上的Java虚拟机由龙芯团队开发和维护,并负责向最新版本OpenJDK增加对龙芯平台的支持。
以下内容来自龙芯中科微信公众号:
2022年1月27日, 龙芯中科于龙芯开源社区正式对外发布基于OpenJDK 17的龙芯平台Java环境 。Java 17提供了数千种性能、稳定性和安全性更新,以及14个JEP(JDK Enhancement Proposal,即 JDK 增强建议)来进一步优化Java语言和平台,从而帮助开发人员提高工作效率。
Java 17是Oracle最新发布的长期支持 (Long-Term Support, LTS) 版本[1]。关于Java 17更详细的内容请见下方Oracle官网[2]。 此次新发布的版本,除了上述上游更新以外,龙芯团队针对龙芯平台特别是LoongArch平台进行了新功能开发和优化 ,具体如下:
符合TCK标准
龙芯平台Java 17环境经过验证符合Java SE 17,新应用程序和现有应用程序无需修改即可运行。
支持C1编译器和分层编译
C2编译器(Server Compiler)主要满足了Java应用的峰值性能需求,此次发布的LoongArch64平台环境支持C1编译器(Client Compiler)和分层编译,可进一步满足对启动性能有要求的Java应用,比如桌面应用。通过实测,龙芯平台开启C1和分层编译之后,部分应用得到了显著提升: Eclipse启动时间减少16.4%,NetBeans启动时间减少20.1%,SPECjvm2008中的startup项提升13.4%,Dacapo中luindex和fop用时分别降低31.9%和29.2% 。
LoongArch向量指令优化
此次版本通过使用LoongArch向量指令对C2编译器进行了自动向量化优化,同时还进行了Vector API的硬件支持。通过实测,开启向量优化后, 在LoongArch64平台上SPECjvm2008中的scimark.lu.small提升了102.7% , JMH Microbenchmarks含有Vector关键字的168项测试中,计时类测试中有39项用时降低1/2以上,吞吐量类测试中有26项提升2倍以上、其中最高项提升了200倍以上 。
支持ZGC
ZGC(The Z Garbage Collector),是一款低延迟垃圾回收器,它的设计目标包括[3]:
亚毫秒级最大停顿时间
暂停时间不随堆的大小、存活集及根集的大小的增加而增加
支持8MB至16TB级别的堆大小
通过实测,龙芯平台(LoongArch64)开启ZGC后, 在3C5000L双路上SPECjbb2015 max-jOPS提升27.8%,critical-jOPS提升200%以上 。
加解密类优化
此次版本通过Intrinsics方式使用LoongArch基础指令对SHA1、SHA256、AES、MD5以及CRC32相关API进行优化。这些优化对SPECjvm2008中的crypto等项目有显著提升效果。
数组拷贝优化
此次版本针对LoongArch进行了数组拷贝相关操作的重构和优化。通过JMH Microbenchmarks测试显示, org.openjdk.bench.java.lang.ArrayCopy相关测试用例优化后平均执行时间下降33%,最多项下降了76.77% ,SPECjvm2008中的serial项优化后提升了6%以上。
原子指令优化
此次版本通过使用LoongArch原子访存指令减少了内存屏障指令的使用,对volatile相关操作实现了优化。
后期规划
除了上述优化以外,此次发布的版本还包含针对龙芯平台的一些故障修复。这些优化和故障修复中的部分内容已集成至龙芯平台低版本JDK中,更多内容会根据情况陆续集成至低版本JDK中。
微软悄然更新了Windows11系统,操作系统版本号Build22000。71面向ReleasePreview通道的Insider用户推送Win1021H2的同时,今早微软也悄然更新了Windows11系统,操作系统版本号Build22000。71,当然,暂
这些宝藏老师们,还真是神通广大啊老师们在讲台方寸之间,为学生插上知识的翅膀,勾勒出星辰大海的模样。而就在这三尺之地内,老师们却都各显神通空口碎酒杯自制留声机隔空打易拉罐老师们各个都像魔术师一样给学生们留下永生难忘
Windows11有更新?这次推送了MicrosoftTeams通话就在几天前,微软更新了Windows11新版本22000。100,这次的更新向Windows11用户推送了MicrosoftTeams通话功能,添加好友后可与家人朋友进行聊天。Wi
动荡的时代之下,个人投资者的财富该如何保值增值?在足够长的时间线上来看,股市的涨跌与国运的起落联系地极其紧密,投资的成功不可能建立在一个处于衰落趋势的国度里。既然躬身入局,希望伴随国运成长,也相信未来一定是向上向好的,那么时代的
1部电影如何讲述3代经典?友人推荐给我了部片子,信誓旦旦地说我一定喜欢,可我早已经不是那种说什么就信什么的年纪,凡事一定得先问清楚不行,于是他告诉我是翻拍的,问他翻拍的是什么,他说倩女幽魂,还有个副标题,叫
请问,您这是什么表?AMAZFITGTR前言伴着淅淅沥沥的小雨,略显木讷的我飞驰在五大道附近,一道刺眼的反光影响了我的视线,我看着手腕上倒映着城市灯光夜色的AmazfitGTR,放缓了车速。我回想在2016之前,在大众的
通勤好装备南卡NANKLite真无线蓝牙耳机前言前些天,仿佛是陷入低谷。一个人开着车在深夜马路游荡一个人坐着地铁靠着窗看玻璃中的倒影一个人吃着火锅调起火力手忙脚乱。我想停下手头的各种事情,来听听歌曲,让耳机帮我推开周的嘈杂,
5G,移动生产力的敲门砖这样一个标题,或许会让大家嗤之以鼻,或许会让大家觉得我是在异想天开。也许正是因为你的天马行空,不拘一格,奇思妙想,异想天开为人类科技进步添了砖加了瓦。所以我始终坚信如需创造,必须敢
玩家们的心头好性能先锋iQOOZ1本文作者为众测用户Lme,首发于糖纸众测。前言窗外沥沥细雨没有任何停止的征兆,手中的卡布基诺却在5月的室内飘起水蒸气,咖啡店内播放着不知什么年代的布鲁斯音乐。此时一声Pentaki
三种形态玩转潮音乐HAKIIFIT真无线蓝牙耳机前言正在健身房里蹩脚地拉举着器材,看着旁边的小姐姐熟练地操作着各种设备,本想请教下小姐姐关于众多器材的使用,却发现她早已沉浸在自己的音乐世界中,我便没好意思再打扰她。没过一会儿看到
帮闺蜜挑车,自己也顺道下手,瓜子二手车让闺蜜更亲密我有个闺蜜,一直说想要去买车买车,说得一来二去搞得我都心动了,她一直让我帮她好好挑一个。我之前看广告,好像瓜子二手车是一个挺知名的品牌,我也就帮她在瓜子二手车的网站上找,我看他们网