This is the mail archive of the cygwin-patches mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

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?


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]