* [PATCH 35/35] t/*: disable fsync on tests were create_inbox isn't worth it
2021-03-15 11:57 6% [PATCH 00/35] memoize inbox creations Eric Wong
@ 2021-03-15 11:58 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2021-03-15 11:58 UTC (permalink / raw)
To: meta
Using create_inbox doesn't seem worth the trouble, here, at the
moment, but disabling fsync(2) gives a noticeable speedup on
my system even with an SSD.
---
t/extsearch.t | 2 ++
t/purge.t | 1 +
t/replace.t | 1 +
t/v1reindex.t | 1 +
t/v2-add-remove-add.t | 1 +
t/v2mirror.t | 1 +
t/v2reindex.t | 1 +
t/v2writable.t | 1 +
t/watch_filter_rubylang.t | 2 ++
t/watch_maildir_v2.t | 1 +
10 files changed, 12 insertions(+)
diff --git a/t/extsearch.t b/t/extsearch.t
index d199fc7b..ae889ac6 100644
--- a/t/extsearch.t
+++ b/t/extsearch.t
@@ -236,6 +236,7 @@ if ('inject w/o indexing') {
if ('reindex catches missed messages') {
my $v2ibx = $cfg->lookup_name('v2test');
+ $v2ibx->{-no_fsync} = 1;
my $im = PublicInbox::InboxWritable->new($v2ibx)->importer(0);
my $cmt_a = $v2ibx->mm->last_commit_xap($schema_version, 0);
my $eml = eml_load('t/data/0001.patch');
@@ -296,6 +297,7 @@ if ('reindex catches missed messages') {
if ('reindex catches content bifurcation') {
use PublicInbox::MID qw(mids);
my $v2ibx = $cfg->lookup_name('v2test');
+ $v2ibx->{-no_fsync} = 1;
my $im = PublicInbox::InboxWritable->new($v2ibx)->importer(0);
my $eml = eml_load('t/data/message_embed.eml');
my $cmt_a = $v2ibx->mm->last_commit_xap($schema_version, 0);
diff --git a/t/purge.t b/t/purge.t
index f4281c13..a33cd329 100644
--- a/t/purge.t
+++ b/t/purge.t
@@ -16,6 +16,7 @@ my $ibx = PublicInbox::Inbox->new({
inboxdir => $inboxdir,
name => 'test-v2purge',
version => 2,
+ -no_fsync => 1,
-primary_address => 'test@example.com',
indexlevel => 'basic',
});
diff --git a/t/replace.t b/t/replace.t
index 51bdb964..626cbe9b 100644
--- a/t/replace.t
+++ b/t/replace.t
@@ -20,6 +20,7 @@ sub test_replace ($$$) {
inboxdir => "$tmpdir/testbox",
name => $this,
version => $v,
+ -no_fsync => 1,
-primary_address => 'test@example.com',
indexlevel => $level,
});
diff --git a/t/v1reindex.t b/t/v1reindex.t
index 36cefda5..f593b323 100644
--- a/t/v1reindex.t
+++ b/t/v1reindex.t
@@ -18,6 +18,7 @@ my $ibx_config = {
name => 'test-v1reindex',
-primary_address => 'test@example.com',
indexlevel => 'full',
+ -no_fsync => 1,
};
my $mime = PublicInbox::Eml->new(<<'EOF');
From: a@example.com
diff --git a/t/v2-add-remove-add.t b/t/v2-add-remove-add.t
index b325e521..579cdcb6 100644
--- a/t/v2-add-remove-add.t
+++ b/t/v2-add-remove-add.t
@@ -13,6 +13,7 @@ my $ibx = {
inboxdir => "$inboxdir/v2",
name => 'test-v2writable',
version => 2,
+ -no_fsync => 1,
-primary_address => 'test@example.com',
};
$ibx = PublicInbox::Inbox->new($ibx);
diff --git a/t/v2mirror.t b/t/v2mirror.t
index 12e3fcd0..012e5bd2 100644
--- a/t/v2mirror.t
+++ b/t/v2mirror.t
@@ -36,6 +36,7 @@ my $cfg = PublicInbox::Config->new($pi_config);
my $ibx = $cfg->lookup('test@example.com');
ok($ibx, 'inbox found');
$ibx->{version} = 2;
+$ibx->{-no_fsync} = 1;
my $v2w = PublicInbox::V2Writable->new($ibx, 1);
ok $v2w, 'v2w loaded';
$v2w->{parallel} = 0;
diff --git a/t/v2reindex.t b/t/v2reindex.t
index a931225c..1145e31b 100644
--- a/t/v2reindex.t
+++ b/t/v2reindex.t
@@ -18,6 +18,7 @@ my $ibx_config = {
version => 2,
-primary_address => 'test@example.com',
indexlevel => 'full',
+ -no_fsync => 1,
};
my $agpl = do {
open my $fh, '<', 'COPYING' or die "can't open COPYING: $!";
diff --git a/t/v2writable.t b/t/v2writable.t
index f0fa8a79..d9e7b980 100644
--- a/t/v2writable.t
+++ b/t/v2writable.t
@@ -17,6 +17,7 @@ my $ibx = {
inboxdir => $inboxdir,
name => 'test-v2writable',
version => 2,
+ -no_fsync => 1,
-primary_address => 'test@example.com',
};
$ibx = PublicInbox::Inbox->new($ibx);
diff --git a/t/watch_filter_rubylang.t b/t/watch_filter_rubylang.t
index 29a9f793..5deb2082 100644
--- a/t/watch_filter_rubylang.t
+++ b/t/watch_filter_rubylang.t
@@ -74,6 +74,7 @@ publicinboxwatch.watchspam=maildir:$spamdir
EOF
my $cfg = PublicInbox::Config->new(\$orig);
my $ibx = $cfg->lookup_name($v);
+ $ibx->{-no_fsync} = 1;
ok($ibx, 'found inbox by name');
my $w = PublicInbox::Watch->new($cfg);
@@ -103,6 +104,7 @@ EOF
$cfg = PublicInbox::Config->new(\$orig);
$ibx = $cfg->lookup_name($v);
+ $ibx->{-no_fsync} = 1;
is($ibx->search->reopen->mset('b:spam')->size, 0, 'spam removed');
is_deeply([], \@warn, 'no warnings');
diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t
index 195e238b..7b46232b 100644
--- a/t/watch_maildir_v2.t
+++ b/t/watch_maildir_v2.t
@@ -47,6 +47,7 @@ EOF
my $cfg = PublicInbox::Config->new(\$orig);
my $ibx = $cfg->lookup_name('test');
ok($ibx, 'found inbox by name');
+$ibx->{-no_fsync} = 1;
PublicInbox::Watch->new($cfg)->scan('full');
my $total = scalar @{$ibx->over->recent};
^ permalink raw reply related [relevance 7%]
* [PATCH 00/35] memoize inbox creations
@ 2021-03-15 11:57 6% Eric Wong
2021-03-15 11:58 7% ` [PATCH 35/35] t/*: disable fsync on tests were create_inbox isn't worth it Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2021-03-15 11:57 UTC (permalink / raw)
To: meta
This speeds up a bunch of tests by a few dozen to hundreds of
milliseconds. Part of it is due to disabling fsync/fdatasync in
a few more places.
Users with slower TMPDIR will notice more, and users with TMPDIR
pointed to tmpfs will notice it least.
Overall it's not hugely significant, but the diffstat
and LoC reduction still makes it nice even if there were
no performance improvements.
Eric Wong (35):
test_common: add create_inbox helper sub
t/lei_xsearch: use create_inbox
test_common: minor simplifications to setup_public_inboxes
t/imapd-tls: switch to create_inbox
t/www_altid: use create_inbox
t/xcpdb-reshard: use create_inbox
t/v2dupindex: create_inbox
t/admin: switch to create_inbox
t/html_index: remove now-worthless test
t/plack: use create_inbox
t/psgi_attach: convert to create_inbox
t/httpd: convert to create_inbox
t/convert-compact: create_inbox
t/altid: use create_inbox
t/psgi_mount: switch to create_inbox
t/feed: switch to create_inbox
t/psgi_bad_mids: use create_inbox
t/psgi_multipart_not: use create_inbox
t/psgi_scan_all: create_inbox lots saved
t/psgi_v2: create_inbox
t/imapd: create_inbox (minor)
t/solver_git: use create_inbox
t/cgi: create_inbox
t/edit: switch to create_inbox
t/inbox_idle: switch to create_inbox
t/lei_xsearch: use create_inbox
t/indexlevels-mirror: use create_inbox
t/multi-mid: use create_inbox
t/psgi_search: use create_inbox
t/miscsearch: use create_inbox
t/nntpd-tls: use create_inbox
t/nntpd: use create_inbox
t/thread-index-gap: create_inbox
t/altid_v2: create_inbox
t/*: disable fsync on tests were create_inbox isn't worth it
MANIFEST | 2 +-
Makefile.PL | 3 +-
lib/PublicInbox/TestCommon.pm | 67 ++++++++++++++---
t/admin.t | 38 ++++------
t/altid.t | 26 ++-----
t/altid_v2.t | 48 +++++-------
t/cgi.t | 84 +++++++++------------
t/convert-compact.t | 48 +++++-------
t/data-gen/.gitignore | 2 +
t/edit.t | 34 ++++-----
t/extsearch.t | 2 +
t/feed.t | 53 ++++----------
t/html_index.t | 56 --------------
t/httpd.t | 36 +++------
t/imapd-tls.t | 38 +++-------
t/imapd.t | 66 ++++++++---------
t/inbox_idle.t | 31 ++++----
t/indexlevels-mirror.t | 24 +++---
t/lei-q-remote-import.t | 20 ++---
t/lei_xsearch.t | 56 +++++---------
t/miscsearch.t | 28 +++----
t/multi-mid.t | 34 +++------
t/nntpd-tls.t | 52 ++++---------
t/nntpd.t | 102 ++++++++++++--------------
t/plack.t | 69 +++++++----------
t/psgi_attach.t | 56 ++++++--------
t/psgi_bad_mids.t | 46 ++++--------
t/psgi_mount.t | 35 ++++-----
t/psgi_multipart_not.t | 35 +++------
t/psgi_scan_all.t | 48 ++++--------
t/psgi_search.t | 37 +++-------
t/psgi_v2.t | 134 ++++++++++++++++------------------
t/purge.t | 1 +
t/replace.t | 1 +
t/solver_git.t | 88 +++++++++++-----------
t/thread-index-gap.t | 24 +++---
t/v1reindex.t | 1 +
t/v2-add-remove-add.t | 1 +
t/v2dupindex.t | 76 +++++++++----------
t/v2mirror.t | 1 +
t/v2reindex.t | 1 +
t/v2writable.t | 1 +
t/watch_filter_rubylang.t | 2 +
t/watch_maildir_v2.t | 1 +
t/www_altid.t | 47 +++++-------
t/xcpdb-reshard.t | 54 ++++++--------
46 files changed, 692 insertions(+), 1017 deletions(-)
create mode 100644 t/data-gen/.gitignore
delete mode 100644 t/html_index.t
^ permalink raw reply [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2021-03-15 11:57 6% [PATCH 00/35] memoize inbox creations Eric Wong
2021-03-15 11:58 7% ` [PATCH 35/35] t/*: disable fsync on tests were create_inbox isn't worth it Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.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).