all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lennart Borgman <lennart.borgman@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Indexed search with grep-like output
Date: Sun, 2 Jan 2011 14:46:45 +0100	[thread overview]
Message-ID: <AANLkTik6qkn7V5WXavWiN_J+zy9RS3Tw3Woq9E+ZQ-KO@mail.gmail.com> (raw)
In-Reply-To: <E1PZO1p-0004g7-4S@fencepost.gnu.org>

On Sun, Jan 2, 2011 at 2:31 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Sun, 2 Jan 2011 12:40:10 +0100
>> Cc: emacs-devel@gnu.org
>>
>> On Sun, Jan 2, 2011 at 12:18 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> >> From: Lennart Borgman <lennart.borgman@gmail.com>
>> >> Date: Sun, 2 Jan 2011 05:12:32 +0100
>> >> Cc: emacs-devel@gnu.org
>> >>
>> >> I do not know about other search engines, but at least Windows Desktop
>> >> Search allows you to restrict the search later.
>> >
>> > Because it's dog slow.
>>
>> Is it? Can you give an example?
>
> `lid' takes 0.1sec to return results of a query of a DB that indexes
> 12,800 source files of a large C++ software system.  What's your
> timing of a comparable query with Windows Desktop?

Around 2 seconds.

But that is from within Emacs on a very slow computer. (And less than
8,000 files.)


>> I read that people have had good experience with Lucene and large
>> amounts of files. Have you tested Lucene?
>
> Yes, I use one of the tools that builds on Lucene (see
> http://www.methods.co.nz/docindexer/) to index MS Office documents
> (some 17,000 of them) I have on my office machine.  It is also very
> fast: just a few seconds to return a query.

Is that from within Emacs or?


>> > `lid' is very fast, so if you don't want to
>> > index each tree separately, you can filter the output (which includes
>> > the full absolute file name) in Emacs, in the process filter that
>> > accepts `lid's output.
>>
>> Is not that slow since it requires a lot process switching?
>
> Not slower than grep or compilation -- if you want the results to be
> available to Emacs, and don't want to use synchronous subprocesses (so
> that you could continue working while it runs, and perhaps even lookup
> the first bunch of hits), you will always use this method.  (I don't
> understand what you mean by "a lot of process switching" -- there are
> two processes running in parallel.)

The subprocess must be the current process when it sends the output to
Emacs and Emacs must be the current process when it receives the
output. So the operating system has to switch between them and as I
understands it that operation is rather costly on w32 especially. (But
I do not remember any comparable timings any longer.)



  reply	other threads:[~2011-01-02 13:46 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-01 19:24 Indexed search with grep-like output Lennart Borgman
2011-01-01 20:51 ` Eli Zaretskii
2011-01-01 21:15   ` Lennart Borgman
2011-01-01 22:06     ` Eli Zaretskii
2011-01-01 22:31       ` Lennart Borgman
2011-01-01 23:03     ` Lennart Borgman
2011-01-02  4:07       ` Eli Zaretskii
2011-01-02  4:12         ` Lennart Borgman
2011-01-02  8:23           ` Thierry Volpiatto
2011-01-02 11:18           ` Eli Zaretskii
2011-01-02 11:40             ` Lennart Borgman
2011-01-02 13:31               ` Eli Zaretskii
2011-01-02 13:46                 ` Lennart Borgman [this message]
2011-01-02 13:53                   ` Eli Zaretskii
2011-01-02 14:15                     ` Lennart Borgman
2011-01-02 15:51                       ` Eli Zaretskii
2011-01-03  3:38                         ` Lennart Borgman
2011-01-03  4:10                           ` Stefan Monnier
2011-01-03  4:14                             ` Lennart Borgman
2011-01-03  9:31                               ` Dimitri Fontaine
2011-01-03 15:04                                 ` Lennart Borgman
2011-01-03 17:49                                 ` Eli Zaretskii
2011-01-03 18:46                                   ` Tassilo Horn
2011-01-03 18:56                                     ` Lennart Borgman
2011-01-03 13:02                               ` Eli Zaretskii
2011-01-03 15:05                                 ` Lennart Borgman
2011-01-03 17:53                                   ` Eli Zaretskii
2011-01-03 18:33                                     ` Lennart Borgman
2011-01-04  3:21                               ` Lennart Borgman
2011-01-04  6:30                                 ` Lennart Borgman
2011-01-04  7:09                                 ` Eli Zaretskii
2011-01-04  7:22                                   ` Lennart Borgman
2011-01-04  8:11                                     ` Eli Zaretskii
2011-01-04  8:39                                       ` Lennart Borgman
2011-01-05 21:43                                       ` Stefan Monnier
2011-01-05 21:47                                         ` Eli Zaretskii
2011-01-06  0:15                                           ` Stefan Monnier
2011-01-10 10:22                                             ` Lennart Borgman
2011-01-10 18:33                                               ` Eli Zaretskii
2011-01-11 11:33                                                 ` Lennart Borgman
2011-03-14  0:14                                   ` Lennart Borgman
2011-03-14 11:30                                     ` Eli Zaretskii
2011-03-14 11:51                                       ` Lennart Borgman
2011-01-03  5:40                             ` Daniel Colascione
2011-01-03  6:14                               ` Stefan Monnier
2011-01-03 15:09                                 ` Lennart Borgman
2011-01-03 17:41                               ` Eli Zaretskii
2011-01-03 17:44                                 ` Lennart Borgman
2011-01-03 18:22                                   ` Eli Zaretskii
2011-03-18  0:34                             ` Lennart Borgman
2011-03-18  2:32                               ` Stefan Monnier
2011-03-18 10:55                                 ` Lennart Borgman
2011-03-18 13:12                                   ` Ted Zlatanov
2011-03-18 17:45                                     ` Stefan Monnier
2011-03-19 20:52                                   ` Chong Yidong
2011-03-19 22:58                                     ` Lennart Borgman
2011-03-20  8:05                                       ` Jambunathan K
2011-03-24 18:24                                       ` Chong Yidong
2011-04-27 10:28                                         ` Lennart Borgman
2011-04-27 10:38                                         ` Lennart Borgman
2011-04-27 10:49                                         ` Lennart Borgman
2011-04-27 11:12                                         ` Lennart Borgman
2011-04-29  9:55                                         ` Lennart Borgman
2011-04-29 16:10                                           ` Stefan Monnier
2011-04-29 16:15                                             ` Lennart Borgman
2011-01-02  2:09 ` Stefan Monnier
2011-01-02  2:22   ` Lennart Borgman
2011-01-02  2:59     ` Stefan Monnier
2011-01-02  3:13       ` Lennart Borgman
2011-01-02  3:51         ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTik6qkn7V5WXavWiN_J+zy9RS3Tw3Woq9E+ZQ-KO@mail.gmail.com \
    --to=lennart.borgman@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.