On 25-Jan-07, at 3:07 PM, Charles Yeomans wrote:
On Jan 25, 2007, at 2:42 PM, Frank Condello wrote:
On 25-Jan-07, at 1:07 PM, Stefan wrote:
Am 25.01.2007 um 03:50 schrieb [EMAIL PROTECTED]:
On Jan 25, 2007, at 02:08 UTC, Giovanni wrote:
To all the RB pros,
Why is it that RB would be slower?
I know that RB is not optimized, but is the performance penalty
that
evident?
No. In fact, RB is faster at some things than code you'd most
likely
write in C/C++, as a great deal of effort has been put in under the
hood to make them fast, even making use of parallel processing
and so
on.
While this may be true, it's not that simple to figure out the
routines/methods,
which are actually fast.
Thus, a short LR chapter regarding speed issues might be helpful.
I think Giovanni was referring to the lack of an optimizing
compiler... Sure some framework methods are optimized (and many
are written C++) but you can only optimize your own RB code so
much, and it usually involves great sacrifices in readability -
manual inlining and loop unrolling aren't pretty! Fact is, all the
manual optimizations in the world are still unlikely to get your
RB code running as fast as equivalent C code compiled with
optimizations enabled.
Although your Rb code will be running slowly while you're still
looking for that elusive double free error in your C code.
I won't argue that RB is easier, faster to debug, and generally safer
(that's why I use RB) but to get RB code running at a speed
approaching optimized C you'll have to pull out all the stops -
duplicate code (inlining), bigger code (unrolling), and pointers,
which are just as dangerous as their C counterparts.
To get back on topic, I'm fairly confident RB can be used for games,
even high-end games, so long as you recognize its limits and aren't
afraid to write/use a plugin or third party library should the need
arise. Declares and plugins are one of RB's strongest points that
often get overlooked IMHO.
Frank.
<http://developer.chaoticbox.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>