From owner-freebsd-performance@FreeBSD.ORG Mon Jun 2 19:11:29 2008 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66C6B106564A for ; Mon, 2 Jun 2008 19:11:29 +0000 (UTC) (envelope-from sean@chittenden.org) Received: from davie.textdrive.com (davie.textdrive.com [207.7.108.101]) by mx1.freebsd.org (Postfix) with ESMTP id 6255A8FC0A for ; Mon, 2 Jun 2008 19:11:29 +0000 (UTC) (envelope-from sean@chittenden.org) Received: from [192.168.255.187] (dsl093-167-029.sfo1.dsl.speakeasy.net [66.93.167.29]) by davie.textdrive.com (Postfix) with ESMTP id AE10AC30C7; Mon, 2 Jun 2008 19:11:28 +0000 (GMT) Message-Id: From: Sean Chittenden To: Bruce Evans In-Reply-To: <20080602205953.X3162@delplex.bde.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v924) Date: Mon, 2 Jun 2008 12:11:27 -0700 References: <2B465A44-2578-4675-AA17-EBE17A072017@chittenden.org> <20080602205953.X3162@delplex.bde.org> X-Mailer: Apple Mail (2.924) Cc: freebsd-performance@freebsd.org, Claus Guttesen Subject: Re: Micro-benchmark for various time syscalls... X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jun 2008 19:11:29 -0000 >> rozetta~/devel/c%>sysctl hw.model >> hw.model: Intel(R) Xeon(R) CPU E5345 @ 2.33GHz >> >> rozetta~/devel/c%>./bench_time 9079882 | sort -rnk1 >> Timing micro-benchmark. 9079882 syscall iterations. >> Avg. us/call Elapsed Name >> 1.405469 12.761494 clock_gettime(2/CLOCK_REALTIME) >> 1.313101 11.922799 time(3) >> 1.305518 11.853953 clock_gettime(2/CLOCK_MONOTONIC) >> 1.303947 11.839681 gettimeofday(2) >> 0.442908 4.021557 clock_gettime(2/CLOCK_PROF) >> 0.436484 3.963223 clock_gettime(2/CLOCK_VIRTUAL) >> 0.217718 1.976851 clock_gettime(2/CLOCK_MONOTONIC_FAST) >> 0.215264 1.954571 clock_gettime(2/CLOCK_REALTIME_FAST) >> 0.211779 1.922932 clock_gettime(2/CLOCK_SECOND) > > These seem about right for a normal untuned ~2GHz system: This begs the question, tuning for time calls. Do you have a best practice that you use for reducing the cost of time calls? -sc -- Sean Chittenden sean@chittenden.org http://sean.chittenden.org/