about summary refs log tree commit
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-09-21 00:06:42 +0000
committerEric Wong <e@80x24.org>2019-09-22 03:07:58 +0000
commitb1759e873fcd861e76be4b702119e70af267c9f4 (patch)
tree951f5e190a6f84a64a15c384cd630f36668eef3e
parent290b8ef18659a52f3cfa97458b5dc5334519dfed (diff)
downloadpublic-inbox-b1759e873fcd861e76be4b702119e70af267c9f4.tar.gz
Inline::C seems alright, so we might use it more since it still
allows end users to quickly make changes.  Our performance on
rotational disks is also terrible, and could be improved...
-rw-r--r--HACKING3
-rw-r--r--TODO8
2 files changed, 5 insertions, 6 deletions
diff --git a/HACKING b/HACKING
index c2f4825c..f7cb92e9 100644
--- a/HACKING
+++ b/HACKING
@@ -40,7 +40,8 @@ the shiny new.
 Avoid relying on compiled modules too much.  Even if it is Free,
 compiled code makes packages more expensive to audit, build,
 distribute and verify.  public-inbox itself will only be implemented
-in scripting languages (currently Perl 5).
+in scripting languages (currently Perl 5) and optional JIT-compiled C
+(via Inline::C)
 
 Performance should be reasonably good for server administrators, too,
 and we will sacrifice features to achieve predictable performance.
diff --git a/TODO b/TODO
index 9f58342f..8f78d87d 100644
--- a/TODO
+++ b/TODO
@@ -5,7 +5,7 @@ performance, ease-of-setup, installation, maintainability, etc
 all need to be considered for everything we introduce)
 
 * general performance improvements, but without relying on
-  XS or compiled code any more than we currently do.
+  XS or pre-built modules any more than we currently do.
 
 * mailmap support (same as git) for remapping expired email addresses
 
@@ -101,10 +101,8 @@ all need to be considered for everything we introduce)
 * imperfect scraper importers for obfuscated list archives
   (e.g. obfuscated Mailman stuff, Google Groups, etc...)
 
-* support hooks, since low-level git-fast-import does not run them
-  https://public-inbox.org/meta/20190405174329.GA21472@chatter.qube.local/
-  (note: may not be needed since we do grokmirror manifest.js.gz, now)
-
 * consider using HTTP::Date instead of Date::Parse, since we need the
   former is capable of parsing RFC822-ish dates, used by Plack, and
   the latter is missing from OpenBSD and maybe other distros.
+
+* improve performance and avoid head-of-line blocking on slow storage