From 46baf956987dca495ed44b1050e64939fae5c8ab Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 29 Nov 2019 12:25:05 +0000 Subject: git: async batch interface This is a transitionary interface which does NOT require an event loop. It can be plugged into in current synchronous code without major surgery. It allows HTTP/1.1 pipelining-like functionality by taking advantage of predictable and well-specified POSIX pipe semantics by stuffing multiple git cat-file requests into the --batch pipe With xt/git_async_cmp.t and GIANT_GIT_DIR=git.git, the async interface is 10-25% faster than the synchronous interface since it can keep the "git cat-file" process busier. This is expected to improve performance on systems with slower storage (but multiple cores). --- MANIFEST | 1 + 1 file changed, 1 insertion(+) (limited to 'MANIFEST') diff --git a/MANIFEST b/MANIFEST index 098e656d..ee7dd3e8 100644 --- a/MANIFEST +++ b/MANIFEST @@ -290,6 +290,7 @@ t/watch_maildir_v2.t t/www_listing.t t/xcpdb-reshard.t xt/git-http-backend.t +xt/git_async_cmp.t xt/nntpd-validate.t xt/perf-msgview.t xt/perf-nntpd.t -- cgit v1.2.3-24-ge0c7