On Sun, Jul 8, 2012 at 9:03 PM, Chris Suter <chris@sutes.me> wrote:
Hi,
On Sun, Jul 8, 2012 at 6:14 AM, Tilghman Lesher <tilghman@meg.abyt.es> wrote:
On Fri, Jul 6, 2012 at 5:10 PM, Dave Keck <davekeck@gmail.com> wrote:
Since this should be asynchronous, I'd be surprised if this is causing a significant performance degradation...
Thanks Shantonu! -- it was indeed updating the access time.
Is there a supported way to prevent my process from updating the access time? My initial benchmarks show a 28% performance increase in processing 4000 photos (82 seconds before, 64 seconds after).
Not your process, but you can at the filesystem mount level: http://oroyphoto.com/2010/11/12/mac-os-x-noatime-settings-for-10-6/
According to the Kernel sources, there’s something called “rapid aging” that might be relevant. Documentation is sparse so I don’t know its intended use, but it looks like something you can set per-process that will prevent access times from being set.
Per process or per thread, apparently. The usage is to call sysctl(3) with KERN_RAGEVNODE and one of 4 magic values: /* KERN_RAGEVNODE types */ #define KERN_RAGE_PROC 1 #define KERN_RAGE_THREAD 2 #define KERN_UNRAGE_PROC 3 #define KERN_UNRAGE_THREAD 4 The IOS documentation suggests that it's to be used only by background tasks which request rapid aging, but other than that, I can find no mention of the recommended way to ask for rapid aging. Comments in the kernel also suggest that when an open vnode is accessed by a "normal" process, rapid aging is turned off. -Tilghman _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.app... This email sent to site_archiver@lists.apple.com
participants (1)
-
Tilghman Lesher