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

Re: [PATCH v3] git-svn: memoize _rev_list and rebuild

From
EWEric Wong <normalperson@yhbt.net>
Date
Oct 25, 2014, 05:44 UTC
Message-ID
<20141025054426.GA31107@dcvr.yhbt.net>
In-Reply-To
<1390443319-11239-1-git-send-email-manjian2006@gmail.com>
manjian2006@gmail.com wrote:
Show 5 quoted lines
> From: lin zuojian <manjian2006@gmail.com>
> 
> According to profile data, _rev_list and rebuild consume a large
> portion of time.  Memoize the results of _rev_list and memoize
> rebuild internals to avoid subprocess invocation.

Hi, I am considering reverting _rev_list memoization because it can increases memory usage a lot, which hurting fork() performance on Linux.

Can you tell me if your original results are under Linux or another kernel? I may only disable _rev_list memoization under Linux and leave other OSes unaffected, too.

I've merged some patches from Jakob to improve svn:mergeinfo performance along with some followup patches to reduce memory use. However memory bloat is still a problem.

Currently in my "master" branch of git://bogomips.org/git-svn
Eric Wong (4):
      git-svn: reduce check_cherry_pick cache overhead
      git-svn: cache only mergeinfo revisions
      git-svn: clear global SVN pool between get_log invocations
      git-svn: remove mergeinfo rev caching
Jakob Stoklund Olesen (2):
      git-svn: only look at the new parts of svn:mergeinfo
      git-svn: only look at the root path for svn:mergeinfo
Previous: Junio C Hamano
Message 4 of 4 in “git-svn: memoize _rev_list and rebuild”
  1. git-svn: memoize _rev_list and rebuildmanjian2006@gmail.com, Jan 23, 2014
  2. Eric WongJan 23, 2014
  3. Junio C HamanoJan 23, 2014
  4. Eric WongOct 25, 2014

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.