git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: how to speed up "git log"?

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 12, 2007, 11:19 UTC
Message-ID
<Pine.LNX.4.63.0702121215190.22628@wbgn013.biozentrum.uni-wuerzburg.de>
In-Reply-To
<200702120302.00576.bruno@clisp.org>
Hi,
On Mon, 12 Feb 2007, Bruno Haible wrote:
Show 13 quoted lines
> Robin Rosenberg wrote:
> > Since you know that you are not interested in the whole history, you can limit your scan.
> > 
> > git log COREUTILS-5_2_1..COREUTILS-6_4 src/tr.c
> 
> Thanks, that indeed does the trick: it reduces the time from 33 sec to 11 sec.
> 
> To reduce the time even more, and to allow more flexibility among the 
> search criteria (e.g. "I need the commits from date X to date Y, on this 
> file set, from anyone except me"), I would need to connect git to a 
> database. git cannot store all kinds of indices and reverse mappings to 
> allow all kinds of queries; that's really a classical database 
> application area.

[in the following paragraph, "index" means the index on a classical database table]

And -- as everywhere else with classical databases -- you have to ask if it is worth it. Given the fact that a one-time use of such an index is _worse_ than doing it without index at all (building and writing the index is _at least_ as expensive as searching once without an index), I'd rather doubt it.

However, if you do similar kinds of searches quite often, it makes tons of sense to connect to a database. We already use sqlite in cvsserver, so I'd try that.

Ciao, Dscho

Previous: Bruno HaibleNext: Junio C Hamano
Message 10 of 23 in “how to speed up "git log"?”
  1. Bruno HaibleFeb 11, 2007
  2. Johannes SchindelinFeb 11, 2007
  3. Shawn O. PearceFeb 11, 2007
  4. Johannes SchindelinFeb 11, 2007
  5. Bruno HaibleFeb 11, 2007
  6. Shawn O. PearceFeb 11, 2007
  7. Johannes SchindelinFeb 11, 2007
  8. Robin RosenbergFeb 11, 2007
  9. Bruno HaibleFeb 12, 2007
  10. Johannes SchindelinFeb 12, 2007
  11. Junio C HamanoFeb 12, 2007
  12. Shawn O. PearceFeb 12, 2007
  13. Junio C HamanoFeb 12, 2007
  14. Shawn O. PearceFeb 12, 2007
  15. Shawn O. PearceFeb 12, 2007
  16. Linus TorvaldsFeb 12, 2007
  17. Bruno HaibleFeb 12, 2007
  18. Bruno HaibleFeb 11, 2007
  19. Bruno HaibleFeb 17, 2007
  20. Johannes SchindelinFeb 17, 2007
  21. Bruno HaibleFeb 18, 2007
  22. Johannes SchindelinFeb 18, 2007
  23. Shawn O. PearceFeb 18, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.