* [PATCH 02/11] solver: drop warnings, modernize use v5.10.1, use SEEK_SET
2020-09-09 6:26 6% [PATCH 00/11] httpd: further reduce event loop monopolization Eric Wong
@ 2020-09-09 6:26 7% ` Eric Wong
0 siblings, 0 replies; 4+ results
From: Eric Wong @ 2020-09-09 6:26 UTC (permalink / raw)
To: meta
With Perl upstream preparing to deprecate things, we'll move
towards only enabling warnings during development via shebang
and stop enabling them via "use".
We'll also favor "use v5.10.1" over the Perl 5.6-compatible "use
5.010_001", since our code base never worked on 5.6.
Finally, were also importing SEEK_SET without using it, just use it
for readability since we can't avoid loading Fcntl in other
places and it'll get constant-folded, anyways.
---
lib/PublicInbox/SolverGit.pm | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm
index ff8a4946..dd95f400 100644
--- a/lib/PublicInbox/SolverGit.pm
+++ b/lib/PublicInbox/SolverGit.pm
@@ -9,8 +9,7 @@
# local filesystem layouts in the process.
package PublicInbox::SolverGit;
use strict;
-use warnings;
-use 5.010_001;
+use v5.10.1;
use File::Temp 0.19 (); # 0.19 for ->newdir
use Fcntl qw(SEEK_SET);
use PublicInbox::Git qw(git_unquote git_quote);
@@ -270,7 +269,7 @@ sub prepare_index ($) {
my $in = tmpfile("update-index.$oid_full") or die "tmpfile: $!";
print $in "$mode_a $oid_full\t$path_a\0" or die "print: $!";
$in->flush or die "flush: $!";
- sysseek($in, 0, 0) or die "seek: $!";
+ sysseek($in, 0, SEEK_SET) or die "seek: $!";
dbg($self, 'preparing index');
my $rdr = { 0 => $in };
^ permalink raw reply related [relevance 7%]
* [PATCH 00/11] httpd: further reduce event loop monopolization
@ 2020-09-09 6:26 6% Eric Wong
2020-09-09 6:26 7% ` [PATCH 02/11] solver: drop warnings, modernize use v5.10.1, use SEEK_SET Eric Wong
0 siblings, 1 reply; 4+ results
From: Eric Wong @ 2020-09-09 6:26 UTC (permalink / raw)
To: meta
A couple more things to mitigate the effects of slow storage
with many inboxes. Mostly solver-related, and still more to
come... (Hoping the electrical grid stays up and dust bunny
removal solved overheating problems).
Eric Wong (11):
xt/solver: test with public-inbox-httpd, too
solver: drop warnings, modernize use v5.10.1, use SEEK_SET
use "\&" where possible when referring to subroutines
www: manifest.js.gz generation no longer hogs event loop
config: flatten each_inbox and iterate_start args
config: split out iterator into separate object
t/cgi.t: show stderr on failures
extmsg: prevent cross-inbox matches from hogging event loop
wwwlisting: avoid hogging event loop
solver: check one git coderepo and inbox at a time
solver: break apart inbox blob retrieval
MANIFEST | 2 +
lib/PublicInbox/Cgit.pm | 5 +-
lib/PublicInbox/Config.pm | 22 +--
lib/PublicInbox/ConfigIter.pm | 40 +++++
lib/PublicInbox/ExtMsg.pm | 102 ++++++++----
lib/PublicInbox/IMAPD.pm | 6 +-
lib/PublicInbox/Inbox.pm | 2 +-
lib/PublicInbox/ManifestJsGz.pm | 135 ++++++++++++++++
lib/PublicInbox/SolverGit.pm | 190 +++++++++++++---------
lib/PublicInbox/TestCommon.pm | 4 +-
lib/PublicInbox/WWW.pm | 21 +--
lib/PublicInbox/Watch.pm | 13 +-
lib/PublicInbox/WwwListing.pm | 279 ++++++++------------------------
t/cgi.t | 2 +-
t/replace.t | 8 +-
t/solver_git.t | 7 +-
t/www_listing.t | 7 +-
xt/msgtime_cmp.t | 2 +-
xt/solver.t | 31 +++-
19 files changed, 499 insertions(+), 379 deletions(-)
create mode 100644 lib/PublicInbox/ConfigIter.pm
create mode 100644 lib/PublicInbox/ManifestJsGz.pm
^ permalink raw reply [relevance 6%]
* [PATCH 1/3] solver: drop warnings, modernize use v5.10.1, use SEEK_SET
2020-09-01 20:36 6% [PATCH 0/3] www: cleanups + scheduling improvements Eric Wong
@ 2020-09-01 20:36 7% ` Eric Wong
0 siblings, 0 replies; 4+ results
From: Eric Wong @ 2020-09-01 20:36 UTC (permalink / raw)
To: meta
With Perl upstream preparing to deprecate things, we'll move
towards only enabling warnings during development via shebang
and stop enabling them via "use".
We'll also favor "use v5.10.1" over the Perl 5.6-compatible "use
5.010_001", since our code base never worked on 5.6.
Finally, were also importing SEEK_SET without using it, just use it
for readability since we can't avoid loading Fcntl in other
places and it'll get constant-folded, anyways.
---
lib/PublicInbox/SolverGit.pm | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm
index ddf5fa16..d0cd59db 100644
--- a/lib/PublicInbox/SolverGit.pm
+++ b/lib/PublicInbox/SolverGit.pm
@@ -9,8 +9,7 @@
# local filesystem layouts in the process.
package PublicInbox::SolverGit;
use strict;
-use warnings;
-use 5.010_001;
+use v5.10.1;
use File::Temp 0.19 (); # 0.19 for ->newdir
use Fcntl qw(SEEK_SET);
use PublicInbox::Git qw(git_unquote git_quote);
@@ -271,7 +270,7 @@ sub prepare_index ($) {
my $in = tmpfile("update-index.$oid_full") or die "tmpfile: $!";
print $in "$mode_a $oid_full\t$path_a\0" or die "print: $!";
$in->flush or die "flush: $!";
- sysseek($in, 0, 0) or die "seek: $!";
+ sysseek($in, 0, SEEK_SET) or die "seek: $!";
dbg($self, 'preparing index');
my $rdr = { 0 => $in };
^ permalink raw reply related [relevance 7%]
* [PATCH 0/3] www: cleanups + scheduling improvements
@ 2020-09-01 20:36 6% Eric Wong
2020-09-01 20:36 7% ` [PATCH 1/3] solver: drop warnings, modernize use v5.10.1, use SEEK_SET Eric Wong
0 siblings, 1 reply; 4+ results
From: Eric Wong @ 2020-09-01 20:36 UTC (permalink / raw)
To: meta
Some more stuff to do along these lines, but I might be eaten
by a bear in the next few hours...
Eric Wong (3):
solver: drop warnings, modernize use v5.10.1, use SEEK_SET
use "\&" where possible when referring to subroutines
www: manifest.js.gz generation no longer hogs event loop
MANIFEST | 1 +
lib/PublicInbox/Cgit.pm | 5 +-
lib/PublicInbox/Inbox.pm | 2 +-
lib/PublicInbox/ManifestJsGz.pm | 153 ++++++++++++++++++++++++++++++++
lib/PublicInbox/SolverGit.pm | 5 +-
lib/PublicInbox/TestCommon.pm | 4 +-
lib/PublicInbox/WWW.pm | 4 +-
lib/PublicInbox/WwwListing.pm | 123 ++-----------------------
t/replace.t | 8 +-
t/solver_git.t | 2 +-
t/www_listing.t | 7 +-
xt/msgtime_cmp.t | 2 +-
12 files changed, 178 insertions(+), 138 deletions(-)
create mode 100644 lib/PublicInbox/ManifestJsGz.pm
^ permalink raw reply [relevance 6%]
Results 1-4 of 4 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-09-01 20:36 6% [PATCH 0/3] www: cleanups + scheduling improvements Eric Wong
2020-09-01 20:36 7% ` [PATCH 1/3] solver: drop warnings, modernize use v5.10.1, use SEEK_SET Eric Wong
2020-09-09 6:26 6% [PATCH 00/11] httpd: further reduce event loop monopolization Eric Wong
2020-09-09 6:26 7% ` [PATCH 02/11] solver: drop warnings, modernize use v5.10.1, use SEEK_SET 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).