|
From: Jaroslav H. <hi...@gm...> - 2009-02-27 18:35:30
|
On Fri, Feb 27, 2009 at 3:49 PM, Marco Atzeri <mar...@ya...> wrote: > > --- Ven 27/2/09, Jaroslav Hajek <hi...@gm...> ha scritto: > >> Da: Jaroslav Hajek <hi...@gm...> >> Oggetto: [OctDev] parallel processing in Octave >> A: "octave-forge list" <oct...@li...> >> Data: Venerdì 27 febbraio 2009, 14:03 >> hi all, >> >> in case anyone is interested, I committed today into the >> "general" >> package an initial m-file implementation of parcellfun. >> parcellfun is supposed to be able to evaluate a given >> function for >> multiple sets of input arguments using multiple processes. >> >> Given N, the function spawns N subprocesses using fork (), >> and creates >> 2*N+1 pipes to communicate with them (actually the pipes >> come first, >> but you knew that). Therefore, it should be (in theory) >> portable to >> any Unix system. Most suitable for systems like GNU/Linux, >> where fork >> () is efficient and pipes are a relatively cheap resource. >> (Dunno >> about Windoze, for example). > > Hi Jaroslav, > on cygwin fork() is a performance disaster as > Windows does not support it, and the workaround > is not efficient at all. > > :-(( > That's bad. I knew it is not as efficient as on GNU/Linux, but didn't expect a "disaster". I think I'll make the function warn if ispc () returns true. One more reason for me to not ever return to Windows. regards -- RNDr. Jaroslav Hajek computing expert Aeronautical Research and Test Institute (VZLU) Prague, Czech Republic url: www.highegg.matfyz.cz |