[PATCH fifo 0/2] Add support for duplex FIFOs

Achim Gratz Stromeko@nexgo.de
Wed Apr 3 12:33:00 GMT 2019


Achim Gratz writes:
> OK, a bit more info: The whole thing runs from a perl script (actually a
> module) that opens pipes to gnuplot and ghostscript.  This code is
> _really_ old and has seen a lot of Cygwin releases, so it has options to
> either use temporary files, named pipes aka FIFO or direct pipes.  Using
> temporary files serializes the execution and using a pipe chain is
> _really_ slow (like a hundred times, which is mostly tied up in system
> for a reason that I don't understand), so using FIFO is the default.
> Your new FIFO code increases the system time by about a factor of 10 in
> my tests, btw.

So I've finalöly got around to fixing the pipe performance problem by
fooling the programs involved to think they are using files: have them
reading from /proc/self/fd/0 and writing to /proc/self/fd/1 gives me the
same performance as using a named FIFO.

Incidentally, that workaround still works when I switch to the 20190402
snapshot, while named FIFO fails as with the older snapshot (as
expected), so that seems to take a different code path.  Maybe that
helps in finding the problem?


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf microQ V2.22R2:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada



More information about the Cygwin-patches mailing list