unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] lib: optimize counting documents
@ 2017-01-12  2:01 David Bremner
  2017-01-18 17:19 ` Jani Nikula
  2017-01-28  2:30 ` David Bremner
  0 siblings, 2 replies; 3+ messages in thread
From: David Bremner @ 2017-01-12  2:01 UTC (permalink / raw)
  To: notmuch

From #xapian

olly> bremner: btw, i noticed notmuch count see ms to request all the documents and then ignores them

bremner> hmm. There's something funny about the way that notmuch uses matches in general iirc

olly> it should be able to do: mset = enquire.get_mset (0, 0, notmuch->xapian_db->get_doccount ());
...
olly> get_matches_estimated() will be exact because check_at_least is the size of the database
---
 lib/query.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/query.cc b/lib/query.cc
index 53efd4e1..4ccd8104 100644
--- a/lib/query.cc
+++ b/lib/query.cc
@@ -606,8 +606,9 @@ _notmuch_query_count_documents (notmuch_query_t *query, const char *type, unsign
 	/*
 	 * Set the checkatleast parameter to the number of documents
 	 * in the database to make get_matches_estimated() exact.
+	 * Set the max parameter to 0 to avoid fetching documents we will discard.
 	 */
-	mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount (),
+	mset = enquire.get_mset (0, 0,
 				 notmuch->xapian_db->get_doccount ());
 
 	count = mset.get_matches_estimated();
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] lib: optimize counting documents
  2017-01-12  2:01 [PATCH] lib: optimize counting documents David Bremner
@ 2017-01-18 17:19 ` Jani Nikula
  2017-01-28  2:30 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: Jani Nikula @ 2017-01-18 17:19 UTC (permalink / raw)
  To: David Bremner, notmuch

On Wed, 11 Jan 2017, David Bremner <david@tethera.net> wrote:
> From #xapian
>
> olly> bremner: btw, i noticed notmuch count see ms to request all the documents and then ignores them
>
> bremner> hmm. There's something funny about the way that notmuch uses matches in general iirc
>
> olly> it should be able to do: mset = enquire.get_mset (0, 0, notmuch->xapian_db->get_doccount ());
> ...
> olly> get_matches_estimated() will be exact because check_at_least is the size of the database

A careful reading of get_mset() API reference seems to agree with this.

BR,
Jani.

> ---
>  lib/query.cc | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/query.cc b/lib/query.cc
> index 53efd4e1..4ccd8104 100644
> --- a/lib/query.cc
> +++ b/lib/query.cc
> @@ -606,8 +606,9 @@ _notmuch_query_count_documents (notmuch_query_t *query, const char *type, unsign
>  	/*
>  	 * Set the checkatleast parameter to the number of documents
>  	 * in the database to make get_matches_estimated() exact.
> +	 * Set the max parameter to 0 to avoid fetching documents we will discard.
>  	 */
> -	mset = enquire.get_mset (0, notmuch->xapian_db->get_doccount (),
> +	mset = enquire.get_mset (0, 0,
>  				 notmuch->xapian_db->get_doccount ());
>  
>  	count = mset.get_matches_estimated();
> -- 
> 2.11.0
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] lib: optimize counting documents
  2017-01-12  2:01 [PATCH] lib: optimize counting documents David Bremner
  2017-01-18 17:19 ` Jani Nikula
@ 2017-01-28  2:30 ` David Bremner
  1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2017-01-28  2:30 UTC (permalink / raw)
  To: notmuch

David Bremner <david@tethera.net> writes:

> From #xapian
>
> olly> bremner: btw, i noticed notmuch count see ms to request all the documents and then ignores them
>
> bremner> hmm. There's something funny about the way that notmuch uses matches in general iirc
>
> olly> it should be able to do: mset = enquire.get_mset (0, 0, notmuch->xapian_db->get_doccount ());
> ...
> olly> get_matches_estimated() will be exact because check_at_least is the size of the database

pushed to master,

d

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-28  2:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-12  2:01 [PATCH] lib: optimize counting documents David Bremner
2017-01-18 17:19 ` Jani Nikula
2017-01-28  2:30 ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).