[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Run-time dynamic linking in grep

From: Reuben Thomas
Subject: Re: Run-time dynamic linking in grep
Date: Sun, 30 Jan 2011 22:41:23 +0000

On 30 January 2011 22:22, Jim Meyering <address@hidden> wrote:
> ??
> Odd that you saw it that way.

A faulty assumption on my part.

> Yours converted spaces-to-TAB:
>  http://cache.gmane.org//gmane/comp/gnu/grep/bugs/3455-001.bin


> and so did mine (i.e., unchanged from your original):

I wasn't expecting that, and didn't check. I thought you were undoing
my unnecessary change, unnecessarily.

So your patch must have been mangled (as you suggested), possibly by
Emacs's whitespace-mode again (but I didn't think it was on by default
in diff-mode), and it didn't apply to the trunk for me.

Now I understand!

So I'll pay closer attention next time I get a cleaned-up diff from you.

Also, sorry I've not yet made any progress on my patch.

I have however had a possible bright idea.

I got to the point where I was unable to rewind the input stream when
it was a pipe, and hence unable to pass the stream on to the
decompressing veneer functions, because it lacked 5 bytes at the

As per Paul Eggert's suggestion, I said I would try a version of my
patch that fed data into a decompressor process, rather than using the
libraries directly. But this would also solve my problem, as I could
re-inject the first 5 bytes that I'd read to analyze the magic.

So not only does Paul's suggestion look good for improving performance
in decompressing (suitably large?) amounts of data on SMP machines; it
also looks like the only simple way of working with pipes (the complex
way, being, as I already said, to call the low-level decompression
APIs myself, which I don't really fancy).

So, how about I do another cut of my zio veneer library which uses
decompressor processes as well as library calls? I can test
comparative performance, and then worry about whether I can use just
the out-of-process code, or whether some sort of further user
selection is warranted (with a fallback to out-of-process
decompression when stdin is a pipe).


reply via email to

[Prev in Thread] Current Thread [Next in Thread]