diff options
author | Eric Wong <e@80x24.org> | 2016-12-20 03:03:56 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-12-20 08:24:23 +0000 |
commit | 1a75ba282c16f8c15b7891090d0997628d7021dc (patch) | |
tree | 6de0d2dd6934c3c1d052dfa716f4d4de9b2193db /t | |
parent | 0ccce545505026019fe2fa4ed7da6f329bf91be1 (diff) | |
download | public-inbox-1a75ba282c16f8c15b7891090d0997628d7021dc.tar.gz |
I'll be using this to improve message threading performance.
Diffstat (limited to 't')
-rw-r--r-- | t/thread-all.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/t/thread-all.t b/t/thread-all.t new file mode 100644 index 00000000..8ccf4f8c --- /dev/null +++ b/t/thread-all.t @@ -0,0 +1,38 @@ +# Copyright (C) 2016 all contributors <meta@public-inbox.org> +# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> +# +# real-world testing of search threading +use strict; +use warnings; +use Test::More; +use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); +my $pi_dir = $ENV{GIANT_PI_DIR}; +plan skip_all => "GIANT_PI_DIR not defined for $0" unless $pi_dir; +eval { require PublicInbox::Search; }; +plan skip_all => "Xapian missing for $0" if $@; +my $srch = eval { PublicInbox::Search->new($pi_dir) }; +plan skip_all => "$pi_dir not initialized for $0" if $@; + +require PublicInbox::View; +require PublicInbox::SearchThread; + +my $pfx = PublicInbox::Search::xpfx('thread'); +my $opts = { limit => 1000000, asc => 1 }; +my $t0 = clock_gettime(CLOCK_MONOTONIC); +my $elapsed; + +my $sres = $srch->_do_enquire(undef, $opts); +$elapsed = clock_gettime(CLOCK_MONOTONIC) - $t0; +diag "enquire: $elapsed"; + +$t0 = clock_gettime(CLOCK_MONOTONIC); +my $msgs = PublicInbox::View::load_results($srch, $sres); +$elapsed = clock_gettime(CLOCK_MONOTONIC) - $t0; +diag "load_results $elapsed"; + +$t0 = clock_gettime(CLOCK_MONOTONIC); +PublicInbox::View::thread_results($msgs); +$elapsed = clock_gettime(CLOCK_MONOTONIC) - $t0; +diag "thread_results $elapsed"; + +done_testing(); |