On May 30, 2008, at 3:40 AM, Jean-Luc Arnaud wrote:
> My upgrade plan finishes soon and before paying for a new plan, I
> would like to get information about RB and multi-processor management.
Use a helper app (perhaps via the Shell class).
> A lot of messages on this list claimed about the fact that RB does
> not use more than one processor (or one core) at a time. it is
> incredible and unacceptable !!
Get over it. Preemptive multitasking is, in general, very bad mojo.
If you access ANY functions that are not thread-safe (and this would
include pretty much the entire framework, as well as many of the OS
functions that you use even for simple things like drawing to a
window), then your program will have obscure bugs that will crop up in
odd circumstances after your software is released. The Windows
platform layer used to use preemptive threads, and it was a nightmare
-- one that ended only when they coded a cooperative multitasking
system like the Mac already had.
> Would I be obliged to switch to C++ or other, in order to get high
> performances ?
No, you would have the same limitations in any language; it's just
that those other languages would cheerfully let you shoot yourself in
the foot. RB tries to prevent that when it can, and this in one of
those situations where it easily can.
To make use of multiple processors safely (in ANY language), you need
to divide your work into separate processes. In RB, the best way to
do this is via a helper app that you would access via the Shell. It's
not that hard to do, and it's 100% safe.
> I hope no, because I like RB and its object-oriented language, its
> graphic interface, the ability to call dll or libraries, to compile
> for Mac, Windows and Linux (and a lot of amazing other features). But
> if RS does not plan to deal with multiproc/multicore, I will have to.
Well, good luck with that.
Best,
- Joe
--
Joe Strout
Inspiring Applications, Inc.
http://www.InspiringApps.com
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|