git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/7] speeding up cat-file by reordering object access
@ 2018-08-10 23:07 Jeff King
  2018-08-10 23:09 ` [PATCH 1/7] for_each_*_object: store flag definitions in a single location Jeff King
                   ` (8 more replies)
  0 siblings, 9 replies; 27+ messages in thread
From: Jeff King @ 2018-08-10 23:07 UTC (permalink / raw)
  To: git; +Cc: Jonathan Tan

This series is meant to replace the RFC discussion in:

  https://public-inbox.org/git/20180808231210.242120-1-jonathantanmy@google.com/

and

  https://public-inbox.org/git/20180808155045.GB1607@sigill.intra.peff.net/

The general idea is that accessing objects in packfile order is way
kinder to the delta base cache, and thus way more efficient. See patches
4 and 7 in particular for discussion and numbers.

I'm primarily interested in cat-file, so this series is focused there.
But there may be other callers of for_each_packed_object() who could
benefit. Most of the existing ones just care about getting the oid, so
they're better off as-is. It's possible the call in is_promisor_object()
could benefit, since it calls parse_object() on each entry it visits. I
didn't experiment with it.

  [1/7]: for_each_*_object: store flag definitions in a single location
  [2/7]: for_each_*_object: take flag arguments as enum
  [3/7]: for_each_*_object: give more comprehensive docstrings
  [4/7]: for_each_packed_object: support iterating in pack-order
  [5/7]: t1006: test cat-file --batch-all-objects with duplicates
  [6/7]: cat-file: rename batch_{loose,packed}_object callbacks
  [7/7]: cat-file: support "unordered" output for --batch-all-objects

 Documentation/git-cat-file.txt |  8 ++++
 builtin/cat-file.c             | 70 ++++++++++++++++++++++++++++------
 cache.h                        | 29 +++++++++++---
 commit-graph.c                 |  2 +-
 packfile.c                     | 24 +++++++++---
 packfile.h                     | 23 ++++++-----
 sha1-file.c                    |  3 +-
 t/t1006-cat-file.sh            | 17 ++++++++-
 8 files changed, 139 insertions(+), 37 deletions(-)

-Peff

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2018-08-16 19:45 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-10 23:07 [PATCH 0/7] speeding up cat-file by reordering object access Jeff King
2018-08-10 23:09 ` [PATCH 1/7] for_each_*_object: store flag definitions in a single location Jeff King
2018-08-10 23:27   ` Stefan Beller
2018-08-10 23:31     ` Jeff King
2018-08-10 23:33       ` Jeff King
2018-08-10 23:39         ` Stefan Beller
2018-08-11  0:33           ` Jeff King
2018-08-10 23:09 ` [PATCH 2/7] for_each_*_object: take flag arguments as enum Jeff King
2018-08-10 23:11 ` [PATCH 3/7] for_each_*_object: give more comprehensive docstrings Jeff King
2018-08-10 23:15 ` [PATCH 4/7] for_each_packed_object: support iterating in pack-order Jeff King
2018-08-15 13:28   ` Derrick Stolee
2018-08-16 17:36     ` Jeff King
2018-08-10 23:16 ` [PATCH 5/7] t1006: test cat-file --batch-all-objects with duplicates Jeff King
2018-08-10 23:17 ` [PATCH 6/7] cat-file: rename batch_{loose,packed}_object callbacks Jeff King
2018-08-10 23:24 ` [PATCH 7/7] cat-file: support "unordered" output for --batch-all-objects Jeff King
2018-08-13 18:45 ` [PATCH 0/7] speeding up cat-file by reordering object access Jonathan Tan
2018-08-14 18:13   ` [PATCH 0/4] finishing touches on jk/for-each-object-iteration Jeff King
2018-08-14 18:14     ` [PATCH 1/4] cat-file: use oidset check-and-insert Jeff King
2018-08-14 18:18     ` [PATCH 2/4] cat-file: split batch "buf" into two variables Jeff King
2018-08-14 18:20     ` [PATCH 3/4] cat-file: use a single strbuf for all output Jeff King
2018-08-14 19:30       ` René Scharfe
2018-08-14 19:39         ` Jeff King
2018-08-14 18:21     ` [PATCH 4/4] for_each_*_object: move declarations to object-store.h Jeff King
2018-08-15 14:05 ` [PATCH 0/7] speeding up cat-file by reordering object access Derrick Stolee
2018-08-16 17:39   ` Jeff King
2018-08-16 18:52     ` Junio C Hamano
2018-08-16 19:45       ` Jeff King

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.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).