On Jan 25, 2007, at 20:11 UTC, Giovanni wrote: > 1- Is the penalty due to lack of optimized Compiler?
No. In fact the compiler does do some optimizations, just not as many (apparently) as they would like. But in real apps, I don't think this is the chief bottleneck. > 2- Is the penalty due to lack of optimized classes or framework? Certainly not; these are highly optimized in most cases already. (Though there may still be specific bits of it that could be better optimized, I'm sure.) No, when there is any performance penalty in RB vs. comparable code in C/C++, it really comes from things RB is doing for you, and not from either of the factors you mention above. For example, RB checks array bounds instead of letting you wander off into random memory; it checks the stack instead of letting your app just crash (and on some systems, crash the OS as well); it yields time to other threads automatically at loop boundaries; it does reference-counting so you don't have to worry so much about who owns every bit of memory. The reference-counting, in particular, tends to be pretty expensive in small, tight loops that access any objects. Method calls are rather expensive too. Now, some of these could be optimized away in certain cases, and it's probably exactly those optimizations that the guys at RS were thinking about when they said they wanted the compiler to do more. But these will be mostly nonstandard optimizations, not the sort a C compiler would do for you anyway. If you were to write your C/C++ code to do all the same things that RB is doing for you, it'd likely be no faster. All that stuff takes work, and the special cases where the work can safely be avoided require a pretty smart (and specialized) optimizer to detect. But note that much of this stuff can be turned off via pragmas, and game developers are generally used to making good use of those where they can make a difference. Let's continue this on the games list if you want to get into detail on that. > Our current approach is to develop the UI in RB and some limited > functions and classes but have all of our code that we need to > control performance as a Plugin. You certainly can do that, but I've never yet seen it necessary. > Is this the approach some of you are doing? Not me -- my games are 100% RB, except for a few functions where I use some plugins (mostly from Frank!). But those aren't for performance, but rather for functionality which is still awkward to get in pure RB code, like manipulating monitor resolution. Best, - Joe -- Joe Strout -- [EMAIL PROTECTED] Verified Express, LLC "Making the Internet a Better Place" http://www.verex.com/ _______________________________________________ Unsubscribe or switch delivery mode: <http://www.realsoftware.com/support/listmanager/> Search the archives of this list here: <http://support.realsoftware.com/listarchives/lists.html>
