Re: IDL_IDLBridge limited to 4? [message #73505 is a reply to message #73394] |
Tue, 09 November 2010 10:26  |
don.woodraska
Messages: 13 Registered: October 2005
|
Junior Member |
|
|
> Are you using the NOWAIT keyword for asynchronous operation?
Yes. I first create an array of objects using a call to
OBJ_NEW('IDL_IDLBridge') for each index in the array.
I create an integer variable called threadcnt (unimaginative) to cycle
through all of the bridge objects to check if their status() is not
busy
if oBridgeArr[threadcnt]->Status() eq 0 then begin
...
oBridgeArr[threadcnt]->execute, cmdlist[i], /NOWAIT
If the /NOWAIT keyword was not set then I couldn't run more than 1 at
a time. By limiting the number of objects in the array I can see that
for one object I get 100% CPU usage, for 2 I get 200%, for 3 I get
300%, and for 4 I get 400%. For anything more than 4 I always get
400%. There is no difference from 4 all the way up to 14.
However, by running 4 separate IDL command-line sessions, I can use
all 1600% available (nearly).
I saw another post where someone tried using one IDL_IDLBridge object
to create a bunch of other IDL_IDLBridge objects. I haven't tried
that, but even if that works, it's just a workaround.
Has anyone else tried to use more than 4 IDL_IDLBridges simultaneously?
|
|
|