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

Re: gitk: avoid obscene memory consumption

From
Paul Mackerras <paulus@ozlabs.org>
Date
Nov 7, 2016, 04:11 UTC
Message-ID
<20161107041138.rnlzyuacoezsfwif@oak.ozlabs.ibm.com>
In-Reply-To
<ff5bb36b-e30c-3998-100d-789b4b5e7249@jump-ing.de>
On Sun, Nov 06, 2016 at 11:28:37AM +0100, Markus Hitter wrote:
Show 12 quoted lines
> 
> Thanks for the positive comments.
> 
> TBH, the more I think about the problem, the less I'm satisfied with the solution I provided. Including two reasons:
> 
> - The list of files affected to the right is still complete and clicking a file name further down results in nothing ... as if the file wasn't part of the diff.
> 
> - Local searches. Cutting off diffs makes them unreliable. Global searches still work, but actually viewing a search result in the skipped section is no longer possible.
> 
> So I'm watching out for better solutions. So far I can think of these:
> 
> - Storing only the actually viewed diff. It's an interactive tool, so there's no advantage in displaying the diff in 0.001 seconds over viewing it in 0.1 seconds. As far as I can see, Gitk currently stores every diff it gets a hold of forever.
It does?  That would be a bug. :)
> 
> - View the diff sparsely. Like rendering only the actually visible portion.
> 
> - Enhancing ctext. This reference diff has 28 million characters, so there should be a way to store this with color information in, let's say, 29 MB of memory.
Tcl uses Unicode internally, I believe, so 57MB, but yes.
Paul.
Previous: Jacob KellerNext: Markus Hitter
Message 6 of 7 in “gitk: avoid obscene memory consumption”
  1. Markus HitterNov 4, 2016
  2. Stefan BellerNov 4, 2016
  3. Paul MackerrasNov 5, 2016
  4. Markus HitterNov 6, 2016
  5. Jacob KellerNov 6, 2016
  6. Paul MackerrasNov 7, 2016
  7. Markus HitterNov 7, 2016

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.