On Wed, Feb 12, 2014 at 7:20 PM, Stefan Zager <szager@xxxxxxxxxx> wrote: > On Wed, Feb 12, 2014 at 3:59 AM, Erik Faye-Lund <kusmabite@xxxxxxxxx> wrote: >> On Wed, Feb 12, 2014 at 2:54 AM, Stefan Zager <szager@xxxxxxxxxxxx> wrote: >>> >>> We are particularly concerned with the performance of msysgit, and we >>> have already chalked up a significant performance gain by turning on >>> the threading code in pack-objects (which was already enabled for >>> posix platforms, but not on msysgit, owing to the lack of a correct >>> pread implementation). >> >> How did you manage to do this? I'm not aware of any way to implement >> pread on Windows (without going down the insanity-path of wrapping and >> potentially locking inside every IO operation)... > > I don't want to steal the thunder of my coworker, who wrote the > implementation. He plans to submit it upstream soon-ish. It relies > on using the lpOverlapped argument to ReadFile(), with some additional > tomfoolery to make sure that the implicit position pointer for the > file descriptor doesn't get modified. Is the code available somewhere? I'm especially interested in the "additional tomfoolery to make sure that the implicit position pointer for the file descriptor doesn't get modified"-part, as this was what I ended up butting my head into when trying to do this myself. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html