【发布时间】:2012-02-11 02:43:08
【问题描述】:
我一直在用 Java 开发一个图像处理应用程序,但我最近对 VLA 很感兴趣。原因是因为我相信我可以提高应用程序的性能(我关心的主要是与 C/C++ 库的互连,因为似乎 Example> 在 Java 中使用 C/C++ 桥时会有性能惩罚)。
背景(我知道的):
- VALA 转换为 C 代码,然后编译为本地机器代码。
- AOT (Java/Mono C#) 也可以生成本机机器代码(而不是使用 VM,但仍需要运行时捆绑包)。
- 在某些情况下,使用 VM 甚至可以比本机机器代码更快(因为它可以通过 JIT 编译器进行优化)。
- 可使用 VLA 生成可消耗的 C/C++ 库。
有些事情在我脑海中萦绕,我找不到答案:
- 是否可以使用 AOT 编译器生成 C/C++ 消耗性库? (我猜不会)。
- 生成的 AOT 二进制文件,是否还有桥接性能问题? (我猜是这样)。
- 在VALA 中调用C/C++ 库与从C 中调用它们的性能相同吗? (我猜是)。
有什么见解吗?
【问题讨论】:
-
这个问题似乎足够“有建设性”;或至少链接并关闭重复项。
-
对不起,我的英语可能不太好。我不确定为什么被投票关闭。感谢 pst 的支持。