Quote: "According to Matthew DeWalt, creator of the Nuclear Basic and Nuclear Fusion tools, it seems DarkBasic Pro produces the slowest machine code for performing graphics operations and calculations, usually 5 to 11 times slower than other competing 3D BASIC game development tools.
"
You've got to somewhat careful spreading bench marking information without explicit context. There's a number of reasons for this, but often they're intentionally or naively biased. What can occur, is the bench mark make comparisons that aren't actually equal.
Case in point: If we timed two loops, one compiled in most of dialects of BASIC and other compiled in any major C compiler. The code might look like this.
for lp =0 to 1000000
SomeValue=SomeValue+1
next
long SomeValue,lp;
for(lp=0;lp<=1000000;lp++)
{
SomeValue++;
}
Any C compiler worth a grain of salt, would win hands down, it's be of 100's if not 1000's of times faster on paper. But the comparison is invalid, since those compilers will optimize away the loop at compile time. Leaving us nothing more than a potential assignment to execute at runtime.
So we're really comparing this,
for lp =0 to 1000000
SomeValue=SomeValue+1
next
long lp=1000001;
long somevalue=1000001;
Quote: "Why was performance so poor? Because it was based on the DarkBasic
Pro interpreter engine. If you and the TGC team just change the
DarkBasic Pro compiler, to create non-interpreted machine code that
runs just as fast as games made with Nuclear Basic, you would have
a REALLY PROFESSIONAL game development tool that can create AAA
quality commercial games.
"
It's not my place to defend DBpro, but this isn't accurate. The compiled applications are not interpreted in any form. Anyone can verify this themselves, by looking at the code it produces. You'll find the raw assembly in your temp folder.
Yes the machine code it produces is less efficient than it could be. However, like all languages, the programmers who understand the compilers idiosyncrasies best will achieve the best results.