I have been developing an image processing application in Java but I have been recently interested in VALA. The reason is because I believe I can increase the application performance (my concern is mainly in the interconnection with C/C++ libraries, as it seems <Example> that there is a performance punishment when using C/C++ bridges in Java).
Background (what I know):
- VALA translates into C code and then its compiled to a native machine code.
- AOT (Java/Mono C#) can produce native machine codes as well (instead of using VMs, but still requires the runtime bundle).
- In some cases using a VM, can be even faster than a native machine code (as it can be optimized through the JIT compiler).
- Consumable C/C++ libraries can be produced using VALA.
There is something that is going around my head and I can't find the answer:
- Can C/C++ consumable libraries be produced using an AOT compiler? (I guess not).
- Does the produced AOT binary, still has the bridge performance issue? (I guess it does).
- Calling C/C++ libraries in VALA has the same performance as calling them from C? (I guess it is).
Any insight?