From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA28541; Fri, 14 Nov 2003 13:34:04 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id NAA28247 for ; Fri, 14 Nov 2003 13:34:03 +0100 (MET) Received: from aomori.annexia.org (annexia.force9.co.uk [212.56.101.183]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hAECY0106565 for ; Fri, 14 Nov 2003 13:34:02 +0100 (MET) Received: from rich by aomori.annexia.org with local (Exim 3.36 #1 (Debian)) id 1AKd9C-0006Kz-00 for ; Fri, 14 Nov 2003 12:33:58 +0000 Date: Fri, 14 Nov 2003 12:33:58 +0000 Cc: Ocaml Mailing List Subject: Re: [Caml-list] Profiling a function execution Message-ID: <20031114123358.GA24353@redhat.com> References: <81F621FD-1629-11D8-A1E1-000393DBC266@epfl.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.4i From: Richard Jones X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 elapsed:01 extern:01 freshmeat:01 ltd:98 ifdef:01 ifdef:01 byte:01 int:01 int:01 inline:03 sys:03 trick:03 cycles:04 investment:94 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk If you're using a Pentium-class machine, then a nice trick is to wrap the RDTSC assembly instruction and call that. It returns number of clock cycles elapsed (a 64 bit number IIRC). Here's some code to get you started: #ifdef linux #include #endif extern inline u_int64_t rdtsc (void) { u_int32_t hi, lo; #ifdef linux __asm__ ("rdtsc" : "=d" (hi), "=a" (lo)); #else __asm__ (".byte 0x0f,0x31" : "=d" (hi), "=a" (lo)); #endif return ((u_int64_t) hi) << 32 | lo; } Rich. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - improving website return on investment "My karma ran over your dogma" ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners