

Any particular object or function in the Xojo framework may be roughly the same, faster, or slower than comparable functionality in another framework.Īll of that said, XojoScript with full optimization is pretty close to C. Most applications sit on top of a stack of APIs, libraries, frameworks, etc. Norman mentioned compile times that “ran for days.” Hopefully this is something that will improve with time as Xojo works on their portion of the compiler chain. I don’t know the specific issues involved, but for some reason having LLVM attempt all optimizations causes excessively long compile times with Xojo.

For some algorithms this gives a distinct advantage if you know how to exploit C.Īs discussed in the thread Migrating from RealBasic (RB2008 to Xojo) Xojo is making a trade off between LLVM optimization and compile times. As the language evolved into C++ the emphasis was still on efficiency at the expense of ease of use. C was designed to be closer to the hardware. In addition to Dave’s notes, faster solutions may be possible in C++ than in other higher level languages such as Xojo, Java, etc. What Dave S said above was going to be my first point, but he beat me to it. Shouldn’t compiled Xojo execute as fast as C++? You give up some speed and performance for safety and ease of O'Brien: Xojo like any language has its trade offs. You could however implement that same control yourself in Xojo, or as a plugin so whats the difference? I’m sure if enough people asked for a particular control they could work something up in a release or two. Some aspects of the IDE were built to be part of the IDE and don’t have an API compatible with general usage. Those features, abstractions (some leaky) have a performance cost.Īs for why controls implemented in the IDE are not universally available… well not every control was built to be distributed and documented. It provides a lot of safety and convenience features you don’t get out of the box with C++. Xojo to C++ speed comparison is not precise unless you write an app in console mode and use pragma’s to disable Xojo features. Xojo provides native UI components which expose libraries in C/C++ so it makes sense they use C++ at the lowest levels. My understanding is the Xojo compiler is technically a plugin to the IDE like any other.


C++ plugins aren’t necessary for the average user.
