Re: Switching from CVS to GIT

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Daniel Barkalow
Date: Monday, October 15, 2007 - 5:45 pm

Responding only to those portions where I think Windows experience and a 
Windows perspective would be helpful...

On Mon, 15 Oct 2007, Eli Zaretskii wrote:


I believe the hassle is that readdir doesn't necessarily report a README in 
a directory which is supposed to have a README, when it has a readme 
instead. I think we want O(n) comparison of sorted lists, which doesn't 
work if equivalent names don't sort the same.


We want getting stat info, using readdir to figure out what files exist, 
for 106083 files in 1603 directories with a hot cache to take under 1s; 
otherwise "git status" takes a noticeable amount of time with a medium-big 
project, and we want people to be able to get info on what's changed 
effectively instantly. My impression is that Windows' native stat and 
readdir are plenty fast for what normal Windows programs want, but we 
actually expect reasonable performance on an unreasonably-big 
metadata-heavy input. AFAICT, nothing but Linux is optimized for this, but 
we're used to being able to find out if there's any change to a large 
directory structure in practically no time. On the other hand, we really 
just want to beat users' expectations for this operation, not our own 
expectations, so this may only be a problem for people benchmarking 
Windows git against Linux git.


I believe the need here is quick setup and fast access to sparse portions 
of several 100M files. It's hard to beat a page fault for read speed.

We also expect to be able to make a sequence of file system operations 
such that programs starting at any time see the same database as the files 
containing the database get restructured. My impression is that this is 
very hard or impossible with Windows, and also that it doesn't matter for 
Windows users, because they'll only have one program at a time accessing 
the repository. A lot of our filesystem demands are about making a wide 
variety of race conditions give the same result regardless of how the race 
goes, and we're just being overly careful for a Windows environment 
(although not necessarily for users with a UNIX background using Windows 
only because they have to).


A unixy pipeline was convenient, given what else we had already written. 
It's getting converted to single tasks, but it's not a top priority for 
most developers, since streaming 100M from one program to the next under 
most of our environments is trivial.

	-Daniel
*This .sig left intentionally blank*
-
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.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Switching from CVS to GIT, Benoit SIGOURE, (Sun Oct 14, 10:10 am)
Re: Switching from CVS to GIT, Marco Costalba, (Sun Oct 14, 11:06 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 11:20 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 11:27 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 11:39 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 12:09 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 1:14 pm)
Re: Switching from CVS to GIT, Alex Riesen, (Sun Oct 14, 3:14 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Sun Oct 14, 3:41 pm)
RE: Switching from CVS to GIT, Dave Korn, (Sun Oct 14, 3:59 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 4:45 pm)
Re: Switching from CVS to GIT, Andreas Ericsson, (Sun Oct 14, 4:55 pm)
RE: Switching from CVS to GIT, Johannes Schindelin, (Sun Oct 14, 5:01 pm)
Re: Switching from CVS to GIT, David Brown, (Sun Oct 14, 5:03 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Sun Oct 14, 9:06 pm)
Re: Switching from CVS to GIT, Martin Langhoff, (Sun Oct 14, 10:35 pm)
Re: Switching from CVS to GIT, Martin Langhoff, (Sun Oct 14, 10:43 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Sun Oct 14, 10:56 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Sun Oct 14, 11:08 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Sun Oct 14, 11:39 pm)
Re: Switching from CVS to GIT, Johannes Schindelin, (Mon Oct 15, 1:44 am)
Re: Switching from CVS to GIT, David Kastrup, (Mon Oct 15, 1:57 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Mon Oct 15, 3:16 am)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 3:38 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Mon Oct 15, 3:52 am)
RE: Switching from CVS to GIT, Dave Korn, (Mon Oct 15, 4:16 am)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 10:36 am)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 10:49 am)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 10:53 am)
RE: Switching from CVS to GIT, Dave Korn, (Mon Oct 15, 11:25 am)
RE: Switching from CVS to GIT, Johannes Schindelin, (Mon Oct 15, 11:34 am)
Re: Switching from CVS to GIT, Alex Riesen, (Mon Oct 15, 12:34 pm)
Re: Switching from CVS to GIT, Shawn O. Pearce, (Mon Oct 15, 4:12 pm)
Re: Switching from CVS to GIT, Daniel Barkalow, (Mon Oct 15, 5:45 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Mon Oct 15, 9:30 pm)
Re: Switching from CVS to GIT, Andreas Ericsson, (Mon Oct 15, 10:14 pm)
Re: Switching from CVS to GIT, Daniel Barkalow, (Mon Oct 15, 10:56 pm)
Re: Switching from CVS to GIT, David Kastrup, (Mon Oct 15, 11:06 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 11:10 pm)
Re: Switching from CVS to GIT, Shawn O. Pearce, (Mon Oct 15, 11:21 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Mon Oct 15, 11:25 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 11:29 pm)
Re: Switching from CVS to GIT, Johannes Sixt, (Mon Oct 15, 11:42 pm)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 12:03 am)
Re: Switching from CVS to GIT, Daniel Barkalow, (Tue Oct 16, 12:07 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 12:14 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 12:17 am)
Re: Switching from CVS to GIT, Peter Karlsson, (Tue Oct 16, 4:13 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 5:29 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 5:33 am)
Re: Switching from CVS to GIT, Peter Karlsson, (Tue Oct 16, 5:38 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 5:39 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 5:53 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 6:04 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 6:15 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 6:16 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 6:16 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 6:21 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 6:24 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 6:50 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 7:14 am)
Re: Switching from CVS to GIT, Steffen Prohaska, (Tue Oct 16, 7:36 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 8:02 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 8:12 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 8:16 am)
Re: Switching from CVS to GIT, Johannes Schindelin, (Tue Oct 16, 8:18 am)
Re: Switching from CVS to GIT, Eli Zaretskii, (Tue Oct 16, 8:43 am)
RE: Switching from CVS to GIT, Dave Korn, (Tue Oct 16, 8:47 am)
Re: Switching from CVS to GIT, David Brown, (Tue Oct 16, 8:56 am)
Re: Switching from CVS to GIT, Nicolas Pitre, (Tue Oct 16, 9:04 am)
RE: Switching from CVS to GIT, Dave Korn, (Tue Oct 16, 9:23 am)
Re: Switching from CVS to GIT, Andreas Ericsson, (Tue Oct 16, 9:59 am)
Re: Switching from CVS to GIT, Daniel Barkalow, (Tue Oct 16, 10:04 am)
Re: Switching from CVS to GIT, Christopher Faylor, (Tue Oct 16, 11:06 am)
Re: Switching from CVS to GIT, Robin Rosenberg, (Wed Oct 17, 12:33 pm)