On Sun, 12 Feb 2006, Linus Torvalds wrote:Btw, one thing to realize is that git is inherently a lot better at handling lots of files in _subdirectories_, especially if those subdirectories don't change. I've never used maildir layout, but if it is a couple of large _flat_ subdirectories, git will potentially handle that a lot worse than if you have a hierarchy of directories. I say "potentially", because if the directories are all mutable and change, then the flat approach is better. But if they tend to have some kind of stability, a lot of git operations (diffing and merging in particular) are able to see that two subdirectories are 100% equal, and will entirely skip them. This is a large part of why git performs well on the kernel. Most merges don't actually touch all - or even a very big percentage - of the over thousand subdirectories in the kernel. Git can quickly see and ignore the whole subdirectory when that happens - the SHA1 is exactly the same, so git knows that every file under that subdirectory (and every recursive directory) is the same. In contrast, if you have a million files in one directory, and 10 of them changed, git will still have to check the SHA1's for matches for the other 999,990 files. Which is going to be slow. That said, I suspect there's space for optimization. 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.html
| Mattia Dongili | Re: Linux 2.6.21-rc6 |
| Greg Kroah-Hartman | [PATCH 024/196] mtd: Convert from class_device to device for MTD/mtdchar |
| Renato S. Yamane | Error -71 on device descriptor read/all |
| Chuck Ebbert | Why do so many machines need "noapic"? |
git: | |
| Mirko Stocker | Working with Git and CVS in a team. |
| Steffen Prohaska | Git-1.6.0.2-preview20080921 on Windows |
| Miles Bader | way to automatically add untracked files? |
| Tilman Sauerbeck | [BUG?] git log picks up bad commit |
| Brian A. Seklecki | sshd_config(5) PermitRootLogin yes |
| Jacob Yocom-Piatt | Re: Real men don't attack straw men |
| Parvinder Bhasin | BIND and CNAME-ing |
| Jerome Santos | sshd.config and AllowUsers |
| Patrick McHardy | pkt_sched: add DRR scheduler |
| ackman | RTL8169 driver no longer functioning with 8111b |
| Evgeniy Polyakov | [resend take 2 4/4] DST Makefile/Kconfig files. |
| Sami Farin | Linux 2.6.27.5 / SFQ/HTB scheduling problems |
| Kernel Panic when schedule is called | 1 hour ago | Linux kernel |
| VPN's on NetBSD | 15 hours ago | NetBSD |
| Why does uClinux 2.6.18 bootup block SuperIO UART IRQs that BIOS configured | 16 hours ago | Linux kernel |
| USB statistics | 17 hours ago | Linux kernel |
| Block Sub System query | 22 hours ago | Linux kernel |
| kernel module to intercept socket creation | 23 hours ago | Linux kernel |
| Image size changing during each build | 23 hours ago | Linux kernel |
| Soft lock bug | 1 day ago | Linux kernel |
| sysctl - dynamic registration problem | 1 day ago | Linux kernel |
| Question on swap as ramdisk partition | 1 day ago | Linux kernel |
