On 2/1/06, Linus Torvalds <torvalds@osdl.org> wrote: > > $ time git update-index --refresh > > > > real 0m21.500s > > user 0m0.358s > > sys 0m1.406s > > > > WinNT, NTFS, 13k files, hot cache. > > That's 25% less files than the Linux kernel, and I can do that operation > in 0m0.062s (0.012s user, 0.048s system). correction. It's 18k files, which is almost the same as 2.6.13-rc6. But these files got *very* long names (the project poisoned by classical C++ education and breaks windows' 255 chars limit on filename length from time to time). Refresh index in 2.6.13 is actualy consistantly faster: $ cd src/linux-2.6.13-rc6 $ time git update-index --refresh real 0m1.344s user 0m0.358s sys 0m0.984s > So WinNT/cygwin is about 2.5 _orders_of_maginitude_ slower here, or 340 > times slower. > > Now, I'm tempted to say that NT is a piece of sh*t, but the fact is, your > CPU-times seem to indicate that most of it is IO (and the "real" cost is > just 1.7 seconds, much of which is system time, which in turn itself is > probably due to the IO costs too - so even that isn't comparable with > the ). > > Which may mean that you simply don't have enough memory to cache the whole > thing. Which may be NT sucking, of course ("we don't like to use more than > 10% of memory for caches"), but it might also be a tunable (which is sucky > in itself, of course), but finally, it might just be that you just don't > have a ton of memory. I've got 2GB in my machines, although 1GB is plenty > to cache the kernel. I have 2Gb, the "System Cache" is around 1.5Gb, and this is PIV 3.2GHz. There seem to be no tunables for any kind of system stuff (savin' on support costs, do they?). You'd be very hardpressed not to say that windows is a piece of sh*t. The "benchmark: several times in a row: $ time git update-index --refresh real 0m1.766s user 0m0.498s sys 0m1.203s $ time git update-index --refresh real 0m1.766s user 0m0.358s sys 0m1.390s $ time git update-index --refresh real 0m1.781s user 0m0.420s sys 0m1.311s $ time git update-index --refresh real 0m1.875s user 0m0.374s sys 0m1.343s $ time git update-index --refresh real 0m1.766s user 0m0.326s sys 0m1.375s It is always almost the same time. I don't think it's IO, looks more like cache accesses. It is just that bad in this cygwin+win2k combination. Besides, I don't trust "time <command>" on windows much: it returned sys time 0 for git-update-index in a directory which was read before. Yes, there was disk activity, I can hear it real good with that barrakuda. - 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 Thu Feb 02 20:13:10 2006
This archive was generated by hypermail 2.1.8 : 2006-02-02 20:13:21 EST