On Tue, 18 Oct 2005, H. Peter Anvin wrote: > > It turns out that the default CacheSize is only 256K. D'oh! Fixed. > > I also changed the CacheDefaultExpire to 600 seconds. Ok, that sounds like it should improve things. My quick tests didn't seem to show any difference, though. Do you need to re-load the apache module or something? > The only thing the front page really should need is to know when the last > change to the tree was, which presumably means looking at each head of each > tree and follow the chain until there is a datable object. Yeah. I tried to follow gitweb.cgi, but I'm neither http- nor perl-literate, so I'm not sure I caught everything. But it does seem to basically end up doing a "git_read_commit()" for each project, and that in turn was doing the "git-rev-list --max-count=1" thing that I just sent out a suggested improvement for. It effectively removes two or more copies of stat64("/objects/xy/zzy", {...}) fd = open("objects/xy/zzy", O_RDONLY|O_NOATIME) addr = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0) close(fd) munmap(addr, size) which really should be very cheap operations, but hey, if the disk head is somewhere else (and busy) and it's not cached, it can be quite expensive. Especially since we don't end up usign the result. I'm sure there's room for improvement inside gitweb itself too, but maybe the git-rev-list optimization will help. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Wed Oct 19 11:03:06 2005
This archive was generated by hypermail 2.1.8 : 2005-10-19 11:03:09 EST