On 4/3/2019 8:33 AM, Achim Gratz wrote: > 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?
Thanks. In the meantime, I've fixed the raw_write bug that I mentioned in an earlier post, along with some other bugs I found. I want to do a little more testing before I send the patches. Ken