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

Another bench on gitweb

From
BRBruno Cesar Ribas <ribas@c3sl.ufpr.br>
Date
Feb 10, 2008, 03:09 UTC
Message-ID
<20080210030919.GA32733@c3sl.ufpr.br>
Hello,
I made another SIMPLE bench on gitweb. Testing time on git-for-each-ref.
Using my 1000 projects I ran:
8<----------------
#/bin/bash
PEGAR_ref() { 
    PROJ=projeto$1.git; 
    cd $PROJ; 
    printf "\tlastref = $(git-for-each-ref --sort=-committerdate --count=1\
            --format='%(committer)')\n" >> config; 
    cd -; 
}
cd $HOME/scm
for((i=1;i<=1000;i++)){ PEGAR_ref $i & }
8<----------------

And at the "git_get_last_activity" instead of running git-for-each-ref i asked to get gitweb.lastref

Here are the results: "dd" means: dd if=/dev/zero of=$HOME/dd/$i bs=1M count=400000

Running 2 dd to generate disk IO. Here comes the results: NO projects_list projects_list 7m56s55 6m11s95 cached last change, using gitweb.lastref 16m30s69 15m10s74 default gitweb, using FS's owner 16m07s40 15m24s34 patched to get gitweb.owner

Now results for a 1000projects on an idle machine. (No dd running to generate IO) NO projects_list projects_list 0m26s79 0m38s70 cached last change, using gitweb.lastref 1m19s08 1m09s55 default gitweb, using FS's owner 1m17s58 1m09s55 patched to get gitweb.owner

I found out those VERY interesting, so instead of trying to think a new way to store gitweb config, we should think a way to cache those information.

-- 
Bruno Ribas - ribas@c3sl.ufpr.br
http://web.inf.ufpr.br/ribas
C3SL: http://www.c3sl.ufpr.br 
Next: Jakub Narebski
Message 1 of 11 in “Another bench on gitweb”
  1. Bruno Cesar RibasFeb 10, 2008
  2. Jakub NarebskiFeb 12, 2008
  3. Bruno Cesar RibasFeb 13, 2008
  4. Bruno Cesar RibasFeb 13, 2008
  5. J.H.Feb 13, 2008
  6. J.H.Feb 13, 2008
  7. Jakub NarebskiFeb 13, 2008
  8. J.H.Feb 13, 2008
  9. Jakub NarebskiFeb 14, 2008
  10. J.H.Feb 14, 2008
  11. Jakub NarebskiFeb 15, 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.