git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* QGit: Shrink used memory with custom git log format
@ 2007-11-24  8:14 Marco Costalba
  2007-11-27  1:52 ` Shawn O. Pearce
  0 siblings, 1 reply; 7+ messages in thread
From: Marco Costalba @ 2007-11-24  8:14 UTC (permalink / raw)
  To: Git Mailing List

Hi all,

   I have pushed a patch series to

git://git.kernel.org/pub/scm/qgit/qgit4.git

that changes the format of git log used to read data from a git repository.

Now instead of --pretty=raw a custom made --pretty=format is given,
this shrinks loaded data of 30% (17MB less on Linux tree) and gives a
good speed up when you are low on memory (especially on big repos)

Next step _would_ be to load log message body on demand (another 50%
reduction) but this has two drawbacks:

(1) Text search/filter on log message would be broken

(2) Slower to browse through revisions because for each revision an
additional git-rev-list /git-log command should be executed to read
the body

The second point is worsted by the fact that it is not possible to
keep a command running and "open" like as example git-diff-tree
--stdin and feed with additional revision's sha when needed. Avoiding
the burden to startup a new process each time to read a new log
message given an sha would let the answer much more quick especially
on lesser OS's

Indeed there is a git-rev-list --stdin option but with different
behaviour from git-diff-tree --stdin and not suitable for this.

Marco

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

end of thread, other threads:[~2007-11-28 15:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-24  8:14 QGit: Shrink used memory with custom git log format Marco Costalba
2007-11-27  1:52 ` Shawn O. Pearce
2007-11-27 10:48   ` Johannes Schindelin
2007-11-27 12:36     ` Marco Costalba
2007-11-27 19:19     ` Jan Hudec
2007-11-28 12:01       ` Johannes Schindelin
2007-11-28 15:53         ` jhud7196

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 NNTP newsgroup(s).