c# – VALA与AOT编译之间的性能差异?
我一直在开发
Java中的图像处理应用程序,但我最近对VALA感兴趣.原因是因为我相信我可以增加应用程序的性能(我关心的主要是与C/C++库的互连,因为在Java中使用C/C++桥时出现了性能惩罚).
背景(我知道的): > VALA转换为C代码,然后将其编译为本地机器代码. 有一些事情在我的头上,我找不到答案: >可以使用AOT编译器生产C/C++耗材库? (我猜不会). 任何洞察力 解决方法
1.可以使用AOT编译器生产C/C++耗材库吗?
这不可能,因为我们没有标题,它不是严格的C类AOT编译器正在创建,而只是机器代码. (旁注:Java类可以是called inside C/C++,但是由于AOT编译器生成一个二进制文件,我相信您无法从该文件外部访问Java类). 答:不 2.生成的AOT二进制文件是否还具有桥接性能问题? 首先,我们需要知道:如果使用桥(如JNI,javacpp等)从Java调用任何C/C++类将总是导致性能下降? 根据##java@irc.freenode.net的“W_”:
但是当我使用JavaCV作为OpenCV库的桥接器时,它使用几种类型的对象,如果上述是对的,它将影响性能. 因此,可能合乎逻辑的是,AOT编译可能会加快一点执行速度,但仍然需要经过桥接器并进行类型转换. 答:是(但可能稍快) 调用VALA中的C/C++库具有与C调用相同的性能? 当它直接转换为C时,我看不到没有理由.这得到#vala@irc.gimp.org的“nemequ”的支持:
答:是的 仍然我不知道为什么“有人”投票结束我的问题,他/她甚至没有打扰评论. 如果我的结论不正确,请纠正我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |