git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Windows support

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Jul 25, 2007, 18:43 UTC
Message-ID
<alpine.LFD.0.999.0707251131540.3607@woody.linux-foundation.org>
In-Reply-To
<316a20a40707250958w1fe9f6fdn41d75ca704aeb9cd@mail.gmail.com>
On Wed, 25 Jul 2007, Stephen Cuppett wrote:
Show 5 quoted lines
> 
> I don't know if the performance problems are cygwin or not.  More
> knowledgeable people might be able to answer, it's just what I'm
> observing right now.  It could be more fundamental to the types of
> access being performed en masse on inode-based versus NTFS systems.

I think cygwin may add some overhead, but people should really realize that Linux is quite often an order of magnitude faster (or more) than other systems on some very basic operations.

That's especially true for filesystem operations. We really are just that good.

Really simple things like stat/open/read/write/close are just damn fast on Linux. To the point where you really do notice it when you compare to other systems. If something takes hours on Linux, and it's very filesystem-intensive, I'm not at all surprised that it might take days on Windows.

(OS X is probably better than Windows when it comes to filesystem ops, but their memory management absolutely sucks, and I can pretty much guarantee that their filesystem operation latency doesn't hold a candle to Linux, so while I'd expect git to perform "pretty well" on OS X, it's still going to be slower than on Linux)

Linux really *can* be that much faster. You may not see it as much on some other loads, where most of the load is about normal user code, and system call performance is likely to be just a small fraction, but for git, most of what it does is filesystem interactions (I used to think that SHA1's would be noticeable - they're not, and while zlib overhead *can* be noticeable, it usually isn't a big deal except for some very specific cases).

But I bet that git ends up being faster on Windows than many other SCM's are (on Windows). Going native will help, and avoiding things like shell scripting will help a *lot*, but it's still always going to be slower on Windows than it is on Linux. And that is not about anything else than the fact that Linux simply kicks *ss on filesystem ops.

So for doing things like big imports, you might well want to do them on Linux. But that doesn't mean that git will suck on Windows for normal operations.

(It will just not be so *blazingly* fast, ie things like "git status" will generally not be instantaneous).

			Linus
Previous: Russ DillNext: Wincent Colaiuta
Message 65 of 69 in “Windows support”
  1. Dmitry KakurinJul 25, 2007
  2. Johannes SchindelinJul 25, 2007
  3. Asger Ottar AlstrupAug 2, 2007
  4. Johannes SchindelinAug 2, 2007
  5. Steven GrimmJul 25, 2007
  6. Dmitry KakurinJul 26, 2007
  7. Shawn O. PearceJul 26, 2007
  8. Steffen ProhaskaJul 26, 2007
  9. Shawn O. PearceJul 26, 2007
  10. Marius Storm-OlsenJul 26, 2007
  11. Marius Storm-OlsenJul 26, 2007
  12. Steven GrimmJul 26, 2007
  13. Steven GrimmJul 25, 2007
  14. Nguyen Thai Ngoc DuyJul 25, 2007
  15. Johannes SchindelinJul 25, 2007
  16. Nguyen Thai Ngoc DuyJul 25, 2007
  17. Johannes SchindelinJul 25, 2007
  18. Christian MICHONJul 26, 2007
  19. Nguyen Thai Ngoc DuyJul 26, 2007
  20. Christian MICHONJul 26, 2007
  21. Nguyen Thai Ngoc DuyJul 26, 2007
  22. Johannes SixtJul 26, 2007
  23. Dmitry KakurinJul 26, 2007
  24. Junio C HamanoJul 26, 2007
  25. Shawn O. PearceJul 26, 2007
  26. Junio C HamanoJul 26, 2007
  27. Johannes SchindelinJul 26, 2007
  28. Han-Wen NienhuysJul 26, 2007
  29. Johannes SchindelinJul 26, 2007
  30. Han-Wen NienhuysJul 26, 2007
  31. Shawn O. PearceJul 26, 2007
  32. Han-Wen NienhuysJul 26, 2007
  33. Jakub NarebskiJul 26, 2007
  34. Julian PhillipsJul 26, 2007
  35. Nguyen Thai Ngoc DuyJul 26, 2007
  36. Christian MICHONJul 26, 2007
  37. Nguyen Thai Ngoc DuyJul 26, 2007
  38. Johannes SchindelinJul 26, 2007
  39. Nguyen Thai Ngoc DuyJul 26, 2007
  40. Johannes SchindelinJul 26, 2007
  41. Nguyen Thai Ngoc DuyJul 26, 2007
  42. David KastrupJul 26, 2007
  43. Nguyen Thai Ngoc DuyJul 26, 2007
  44. David KastrupJul 26, 2007
  45. Johannes SchindelinJul 26, 2007
  46. Marius Storm-OlsenJul 26, 2007
  47. Nguyen Thai Ngoc DuyJul 26, 2007
  48. Christian MICHONJul 26, 2007
  49. Robin RosenbergJul 26, 2007
  50. Johannes SixtJul 26, 2007
  51. Johannes SchindelinJul 26, 2007
  52. Dmitry KakurinJul 26, 2007
  53. Shawn O. PearceJul 26, 2007
  54. Johannes SchindelinJul 26, 2007
  55. Henning RoggeJul 26, 2007
  56. Andy ParkinsJul 26, 2007
  57. Steffen ProhaskaJul 25, 2007
  58. Noel GrandinJul 25, 2007
  59. Johannes SchindelinJul 26, 2007
  60. Junio C HamanoJul 26, 2007
  61. Stephen CuppettJul 25, 2007
  62. Russ DillJul 25, 2007
  63. Medve Emilian-EMMEDVE1Jul 25, 2007
  64. Russ DillJul 25, 2007
  65. Linus TorvaldsJul 25, 2007
  66. Wincent ColaiutaJul 25, 2007
  67. Marius Storm-OlsenJul 26, 2007
  68. Shawn O. PearceJul 26, 2007
  69. Daniel BarkalowJul 25, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.