Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 18FC7431FBC for ; Mon, 15 Feb 2010 19:53:30 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.762 X-Spam-Level: X-Spam-Status: No, score=-0.762 tagged_above=-999 required=5 tests=[AWL=-0.763, BAYES_50=0.001] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a-C0S2744yjr for ; Mon, 15 Feb 2010 19:53:29 -0800 (PST) Received: from kaylee.flamingspork.com (kaylee.flamingspork.com [74.207.245.61]) by olra.theworths.org (Postfix) with ESMTP id 26DB2431FAE for ; Mon, 15 Feb 2010 19:53:29 -0800 (PST) Received: from willster (localhost [127.0.0.1]) by kaylee.flamingspork.com (Postfix) with ESMTPS id 9840A6393; Tue, 16 Feb 2010 03:50:27 +0000 (UTC) Received: by willster (Postfix, from userid 1000) id AF8B71023DAC; Tue, 16 Feb 2010 14:53:26 +1100 (EST) From: Stewart Smith To: Olly Betts , notmuch@notmuchmail.org In-Reply-To: References: <5641883d1001140730l22832715ld6bdc95c9938d314@mail.gmail.com> Date: Tue, 16 Feb 2010 14:53:26 +1100 Message-ID: <874olhbzux.fsf@willster.local.flamingspork.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [notmuch] Notmuch performance problems on OSX X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Feb 2010 03:53:30 -0000 On Fri, 15 Jan 2010 03:58:50 +0000 (UTC), Olly Betts wrote: > One difference between OS X and other systems is that OS X supports the > F_FULLSYNC ioctl, and other systems don't (currently, at least AFAIK) > and Xapian uses that if it is available to ensure that changes have > actually made it to disk: > > http://trac.xapian.org/ticket/288 > > On other systems, it uses fdatasync() or fsync(), which typically just > ensure that the data has left the OS - it can sit in disk controller or > drive caches for potentially seconds longer. This call happens once > per table for every (explicit or implicit) flush on a database. At least if you OS and file system don't hate you (e.g. XFS on Linux), then fsync() really does flush the drive cache. Also keep in mind that the OSX file system (HFS+) was great for 1985. It's essentially single threaded :/ -- Stewart Smith