From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: statprof working with guile-vm Date: Mon, 02 Feb 2009 23:45:37 +0100 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1233614993 2964 80.91.229.12 (2 Feb 2009 22:49:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Feb 2009 22:49:53 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Feb 02 23:51:06 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LU7dB-0007Rv-5f for guile-devel@m.gmane.org; Mon, 02 Feb 2009 23:51:06 +0100 Original-Received: from localhost ([127.0.0.1]:56752 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU7bs-0002Db-FB for guile-devel@m.gmane.org; Mon, 02 Feb 2009 17:49:44 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LU7bk-0002BE-Oy for guile-devel@gnu.org; Mon, 02 Feb 2009 17:49:37 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LU7bg-00028L-LG for guile-devel@gnu.org; Mon, 02 Feb 2009 17:49:36 -0500 Original-Received: from [199.232.76.173] (port=40948 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LU7bg-000289-Gu for guile-devel@gnu.org; Mon, 02 Feb 2009 17:49:32 -0500 Original-Received: from a-sasl-quonix.sasl.smtp.pobox.com ([208.72.237.25]:36158 helo=sasl.smtp.pobox.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LU7bg-0008AR-26 for guile-devel@gnu.org; Mon, 02 Feb 2009 17:49:32 -0500 Original-Received: from localhost.localdomain (unknown [127.0.0.1]) by b-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id 257CD2A4DF for ; Mon, 2 Feb 2009 17:49:29 -0500 (EST) Original-Received: from unquote (unknown [81.39.163.166]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTPSA id 565172A4D9 for ; Mon, 2 Feb 2009 17:49:28 -0500 (EST) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-Pobox-Relay-ID: BFC16D42-F17B-11DD-A661-6F7C8D1D4FD0-02397024!a-sasl-quonix.pobox.com X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8119 Archived-At: Dudes and dudettes. Statprof works for profiling guile-vm. If you ask me, that's pretty sweet. Here's a profile of loading (oop goops). It's long because, well, syncase... also I had to increase the sampling frequency because otherwise the results were really unstable. scheme@(guile-user)> (use-modules (statprof)) scheme@(guile-user)> (with-statprof #:hz 1000 (resolve-module '(oop goops))) % cumulative self time seconds seconds name 15.46 0.05 0.05 eqv? 10.31 0.14 0.04 write-bytecode 3.09 0.09 0.01 glil->assembly 3.09 0.01 0.01 memv 3.09 0.01 0.01 module-make-local-var! 2.06 0.17 0.01 for-each 2.06 0.09 0.01 map 2.06 0.02 0.01 %init-goops-builtins 2.06 0.01 0.01 record-accessor 2.06 0.01 0.01 lookup-transformer 2.06 0.01 0.01 record-predicate 2.06 0.01 0.01 comp 1.03 0.34 0.00 dynamic-wind 1.03 0.03 0.00 translate-1 1.03 0.02 0.00 add-method! 1.03 0.01 0.00 assoc-ref 1.03 0.01 0.00 make-glil-program 1.03 0.01 0.00 comp 1.03 0.00 0.00 syntmp-write-134 1.03 0.00 0.00 syntmp-fk-20 1.03 0.00 0.00 syntmp-fk-31 1.03 0.00 0.00 syntmp-write-byte-18 1.03 0.00 0.00 syntmp-fk-15 1.03 0.00 0.00 syntmp-fk-24 1.03 0.00 0.00 syntmp-write-byte-18 1.03 0.00 0.00 syntmp-fk-35 1.03 0.00 0.00 syntmp-fk-35 1.03 0.00 0.00 syntmp-fk-14 1.03 0.00 0.00 compute-closure-level 1.03 0.00 0.00 syntmp-fk-28 1.03 0.00 0.00 syntmp-fk-13 1.03 0.00 0.00 finish 1.03 0.00 0.00 syntmp-fk-30 1.03 0.00 0.00 comp 1.03 0.00 0.00 dump 1.03 0.00 0.00 syntmp-fk-25 1.03 0.00 0.00 syntmp-fk-18 1.03 0.00 0.00 syntmp-fk-34 1.03 0.00 0.00 syntmp-fk-33 1.03 0.00 0.00 lp 1.03 0.00 0.00 lp 1.03 0.00 0.00 syntmp-fk-13 1.03 0.00 0.00 syntmp-fk-20 1.03 0.00 0.00 syntmp-fk-35 1.03 0.00 0.00 loop 1.03 0.00 0.00 syntmp-fk-14 1.03 0.00 0.00 dump 1.03 0.00 0.00 syntmp-fk-20 1.03 0.00 0.00 syntmp-write-139 1.03 0.00 0.00 loop 1.03 0.00 0.00 syntmp-fk-13 1.03 0.00 0.00 dump 1.03 0.00 0.00 dump 1.03 0.00 0.00 syntmp-fk-34 1.03 0.00 0.00 syntmp-fk-30 1.03 0.00 0.00 close-binding 1.03 0.00 0.00 syntmp-fk-22 1.03 0.00 0.00 syntmp-fk-28 1.03 0.00 0.00 syntmp-fk-22 1.03 0.00 0.00 syntmp-fk-20 1.03 0.00 0.00 syntmp-fk-21 0.00 0.34 0.00 load-compiled/vm 0.00 0.30 0.00 save-module-excursion 0.00 0.30 0.00 load-file 0.00 0.30 0.00 compute-entry-with-cmethod 0.00 0.30 0.00 compile-method/vm 0.00 0.30 0.00 compile-fold 0.00 0.30 0.00 memoize-method! 0.00 0.29 0.00 make-instance 0.00 0.29 0.00 initialize 0.00 0.14 0.00 compile-bytecode 0.00 0.13 0.00 %goops-loaded 0.00 0.13 0.00 make-extended-generic 0.00 0.13 0.00 compute-cmethod 0.00 0.13 0.00 make-next-method 0.00 0.11 0.00 ensure-generic 0.00 0.09 0.00 compile-assembly 0.00 0.09 0.00 compile-asm 0.00 0.05 0.00 byte-length 0.00 0.04 0.00 call-with-ghil-bindings 0.00 0.03 0.00 compile-glil 0.00 0.03 0.00 codegen 0.00 0.02 0.00 lp 0.00 0.02 0.00 lp 0.00 0.01 0.00 lp 0.00 0.01 0.00 lp 0.00 0.01 0.00 comp 0.00 0.01 0.00 lp 0.00 0.01 0.00 lp 0.00 0.01 0.00 lp 0.00 0.01 0.00 lp 0.00 0.01 0.00 retrans 0.00 0.01 0.00 lp 0.00 0.01 0.00 syntmp-fk-810 0.00 0.01 0.00 retrans 0.00 0.01 0.00 comp 0.00 0.01 0.00 call-with-deferred-observers 0.00 0.01 0.00 lp 0.00 0.01 0.00 comp 0.00 0.01 0.00 retrans 0.00 0.01 0.00 make-glil-var 0.00 0.01 0.00 retrans 0.00 0.01 0.00 retrans 0.00 0.01 0.00 retrans 0.00 0.01 0.00 assoc-ref-or-acons 0.00 0.01 0.00 retrans 0.00 0.01 0.00 syntmp-fk-782 0.00 0.01 0.00 comp 0.00 0.00 0.00 loop 0.00 0.00 0.00 syntmp-fk-810 0.00 0.00 0.00 comp 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 push-call! 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 lp 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 lp 0.00 0.00 0.00 lp 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 syntmp-fk-810 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 lp 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 push-call! 0.00 0.00 0.00 retrans 0.00 0.00 0.00 lp 0.00 0.00 0.00 comp 0.00 0.00 0.00 finish 0.00 0.00 0.00 retrans 0.00 0.00 0.00 retrans 0.00 0.00 0.00 comp 0.00 0.00 0.00 resolve-interface 0.00 0.00 0.00 retrans 0.00 0.00 0.00 module-export! 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-33 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-31 0.00 0.00 0.00 call-with-ghil-environment 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-26 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-30 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 retrans 0.00 0.00 0.00 finish 0.00 0.00 0.00 syntmp-fk-29 0.00 0.00 0.00 retrans 0.00 0.00 0.00 write-string 0.00 0.00 0.00 push-call! 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 write-char 0.00 0.00 0.00 syntmp-fk-810 0.00 0.00 0.00 syntmp-fk-810 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-35 0.00 0.00 0.00 syntmp-fk-782 0.00 0.00 0.00 lp 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 retrans 0.00 0.00 0.00 loop 0.00 0.00 0.00 retrans 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 push-call! 0.00 0.00 0.00 syntmp-fk-23 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 retrans 0.00 0.00 0.00 lp 0.00 0.00 0.00 retrans 0.00 0.00 0.00 retrans 0.00 0.00 0.00 retrans 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 lp 0.00 0.00 0.00 push-call! 0.00 0.00 0.00 loop 0.00 0.00 0.00 for-each* 0.00 0.00 0.00 write-string 0.00 0.00 0.00 syntmp-fk-23 0.00 0.00 0.00 write-char 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-17 0.00 0.00 0.00 lp 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 syntmp-fk-31 0.00 0.00 0.00 retrans 0.00 0.00 0.00 retrans 0.00 0.00 0.00 syntmp-fk-13 0.00 0.00 0.00 syntmp-fk-27 0.00 0.00 0.00 syntmp-fk-19 0.00 0.00 0.00 comp-push 0.00 0.00 0.00 retrans --- Sample count: 97 Total time: 0.34 seconds (7/50 seconds in GC) $1 = # I'm not yet sure what to make of this. It seems like the compiler itself can be sped up by a factor of two or so, which sounds nice. We'll see. Anyway, glad to see that statprof works with the new vm. Andy -- http://wingolog.org/