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@xxxxxxxxxxxx http://web.inf.ufpr.br/ribas C3SL: http://www.c3sl.ufpr.br - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html