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

Re: [PATCH WIP] sha1-lookup: make selection of 'middle' less aggressive

From
MCMarco Costalba <mcostalba@gmail.com>
Date
Dec 30, 2007, 19:06 UTC
Message-ID
<e5bfff550712301106l133dd38btd2cc4be02159387d@mail.gmail.com>
In-Reply-To
<7vtzm08l9w.fsf@gitster.siamese.dyndns.org>
On Dec 30, 2007 12:38 PM, Junio C Hamano <gitster@pobox.com> wrote:
>
> With this patch, we actually see slight improvements in
> execution time as well.

I have applied both your patch above and what we have discussed today, the patch to speedup prefixcmp() and mine experimental one to avoid a lookup loop in strbuf_expand().

I don't see big differences with or without you patch applied.

Just for document the profiling I have uploaded a snapshot of KCachegrind profiling data on a run of git-log on the git tree:

http://digilander.libero.it/mcostalba/callgrind_git_log1.png
>From there you can see that pretty.c and strbuf.c, after all the

optimizations, account for less then 8% of total time. The biggest part is that 86.64% that is due almost entirely to zlib.

In particular
st = inflate(&stream, Z_FINISH);

called from unpack_compressed_entry() in sha1_file.c accounts for 72% of total time.

Marco
Previous: Junio C HamanoNext: Marco Costalba
Message 3 of 14 in “sha1-lookup: more memory efficient search in sorted list of SHA-1”
  1. sha1-lookup: more memory efficient search in sorted list of SHA-1Junio C Hamano, Dec 30, 2007
  2. sha1-lookup: make selection of 'middle' less aggressiveJunio C Hamano, Dec 30, 2007
  3. Marco CostalbaDec 30, 2007
  4. Marco CostalbaDec 30, 2007
  5. Shawn O. PearceDec 31, 2007
  6. Linus TorvaldsDec 30, 2007
  7. Junio C HamanoDec 30, 2007
  8. Marco CostalbaDec 30, 2007
  9. Linus TorvaldsDec 31, 2007
  10. Marco CostalbaDec 31, 2007
  11. Jeff KingJan 1, 2008
  12. Marco CostalbaJan 1, 2008
  13. Marco CostalbaJan 1, 2008
  14. Pierre HabouzitJan 1, 2008

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.