我认为用啥语言应该取决于你的业务和外部生态。
本着不重新造轮子的逻辑,更应该以生态为主。
当然,c/c++生态现在是个啥样我也说不清,我脑子里还停留在VC+mfc时代,已经十多年不搞了。
说说我最近的一些工作。
1、我验证quarkus进行native-image编译,fastXML里的jackson之类的反射有问题,不过traceAgent跑一边生成native-configuration后就ok了,运行效果不错。
2、如何进行交叉编译。使用qemu可以在linux或者windows上,模拟出一个arm系统,然后在其中安装C相关开发包,arm版本graalvm编译。可以直接下载ubuntu-cloudimage作为启动镜像,改下root密码,扩一下硬盘还是比较方便的。遗憾的是编译时间超长,我的demo程序在X86本机做一次native-image编译,需要5、6分钟,在模拟器跑了大概20分钟。日常开发还是得在x86环境做,模拟器里编译只能做最终交付偶尔用。
demo程序jar集合大概200多兆,编译后本地执行文件80兆
3、我尝试在几个平台做了native-image对比运行时长测试,程序为单线程运行,大量计算和几十兆得文件写出。
i9笔记本大概2-3秒
一个dell工作站,志强处理器,主频没看,大约4秒
一个arm桌面PC做了测试,ft-2000/4,运行8秒
一个安卓手机,小米11,骁龙888,运行大概4秒
几个环境都是固态存储,可以认为主要差异在CPU段。
单核性能,国产CPU还是有较大差距。真的搞脱钩,国产arm也不让造了,把数以亿计的高性能手机CPU,拆下来用来搞服务器,我看也没问题。
【 在 BlackHouse 的大作中提到: 】
: 如果不能用框架,那确实不如用C++方便了。
:
--
FROM 115.171.63.*