From: Shawn Pearce <spearce@spearce.org>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <junkio@cox.net>, git@vger.kernel.org
Subject: Re: [PATCH 2/7] Switch git_mmap to use pread.
Date: Sun, 24 Dec 2006 15:13:04 -0500 [thread overview]
Message-ID: <20061224201304.GA631@spearce.org> (raw)
In-Reply-To: <Pine.LNX.4.63.0612241407250.19693@wbgn013.biozentrum.uni-wuerzburg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Sun, 24 Dec 2006, Shawn O. Pearce wrote:
> > Now that Git depends on pread in index-pack its safe to say we can
> > also depend on it within the git_mmap emulation we activate when
> > NO_MMAP is set. On most systems pread should be slightly faster
> > than an lseek/read/lseek sequence as its one system call vs. three
> > system calls.
>
> I don't think it matters much. The _only_ platform we really use NO_MMAP
> (other than for testing) is Windows, and AFAICT it does not have pread(),
> so it is emulated by lseek/read/lseek anyway.
>
> But it's a cleanup, and it deletes more lines than it adds, so Ack from
> me.
Right - that's why I did it. I was already in there doing other work
and discovered that we had a lot of lines just to avoid using pread.
Initially that may have been because we were trying to avoid using
it, but now that one of our more important tools (index-pack)
depends on it... ;-)
I'm actually thinking of doing a NO_PACK_MMAP, especially for systems
like Mac OS X where the mmap() of small chunks appears to perform
so poorly. Setting NO_PACK_MMAP and just using smaller windows
(1 MiB) might be worthwhile. Though in that case we may just want
to compile with NO_MMAP.
--
Shawn.
next prev parent reply other threads:[~2006-12-24 20:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <487c7d0ea81f2f82f330e277e0aea38a66ca7cfe.1166939109.git.spearce@spearce.org>
2006-12-24 5:45 ` [PATCH 2/7] Switch git_mmap to use pread Shawn O. Pearce
2006-12-24 13:09 ` Johannes Schindelin
2006-12-24 19:30 ` Alon Ziv
2006-12-24 20:13 ` Shawn Pearce [this message]
2006-12-24 20:14 ` Linus Torvalds
2006-12-24 5:46 ` [PATCH 3/7] Ensure packed_git.next is initialized to NULL Shawn O. Pearce
2006-12-24 5:46 ` [PATCH 4/7] Default core.packdGitWindowSize to 1 MiB if NO_MMAP Shawn O. Pearce
2006-12-24 5:46 ` [PATCH 5/7] Don't exit successfully on EPIPE in read_or_die Shawn O. Pearce
2006-12-24 5:47 ` [PATCH 6/7] Release pack windows before reporting out of memory Shawn O. Pearce
2006-12-24 13:10 ` Johannes Schindelin
2006-12-24 5:47 ` [PATCH 7/7] Replace mmap with xmmap, better handling MAP_FAILED Shawn O. Pearce
2006-12-24 13:22 ` Johannes Schindelin
2006-12-24 20:34 ` Shawn Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20061224201304.GA631@spearce.org \
--to=spearce@spearce.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).