realbasic-nug
[Top] [All Lists]

Re: Dealing with multi-processor or multi-core

To: REALbasic NUG <realbasic-nug at lists dot realsoftware dot com>
Subject: Re: Dealing with multi-processor or multi-core
From: Joe Strout <joe at inspiringapps dot com>
Date: Fri, 30 May 2008 08:18:03 -0600
Authentication-results: mx.google.com; spf=pass (google.com: domain of realbasic-nug-bounces at lists dot realsoftware dot com designates 66.116.103.65 as permitted sender) smtp dot mail=realbasic-nug-bounces at lists dot realsoftware dot com
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug at lists dot realsoftware dot com
References: <p06240802c4657bd7c318 at [62 dot 161 dot 36 dot 122]>
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>


<Prev in Thread] Current Thread [Next in Thread>