[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Profiling Guile

From: Martin Grabmueller
Subject: Profiling Guile
Date: Fri, 29 Dec 2000 13:02:25 +0100


I tried to build Guile with profiling information (including basic
block information giving `-a' to gcc) today, but the pexecutable
barfs immediately after startup like this (gdb output included):

address@hidden (~/guile): libtool gdb ~/cvs/guile-core/libguile/guile
GNU gdb 19990928
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) r
Starting program: /home/mgrabmue/cvs/guile-core/libguile/.libs/lt-guile 

Program received signal SIGSEGV, Segmentation fault.
lt_dlpreload_default (preloaded=0x1) at ltdl.c:871
871     {
(gdb) bt
#0  lt_dlpreload_default (preloaded=0x1) at ltdl.c:871
#1  0x8048b15 in main (argc=1, argv=0xbffffc84) at guile.c:74

Here's some build information:

address@hidden (~/guile): cat /etc/debian_version 
address@hidden (~/guile): uname -a
Linux tortoise 2.2.17 #1 Thu Dec 21 17:29:05 CET 2000 i586 unknown
address@hidden (~/guile): gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
gcc version 2.95.2 20000220 (Debian GNU/Linux)

I configured Guile using this command:

CFLAGS="-g -pg -a" ./configure --with-maintainer-mode

and did a 

make clean ; make all

afterwards.  When I omit the `-a', the binary runs well, but
unfortunately, useless profiling information is generated:

Flat profile:

Each sample counts as 0.01 seconds.
 no time accumulated

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ts/call  Ts/call  name    
  0.00      0.00     0.00        3     0.00     0.00  data_start

The test I want to run with profiling information is a script which
expands Scheme source files to core forms (begin, lambda, set!, quote,
define, if, literal expressions and procedure applications).  Running
this script on the Stalin sources takes 1m50.930s, including
pertty-printing of the result (but without profiling).  Quite
acceptable, I think, considering that the expander cons'es a lot, but
I was interested where it's spending it's time anyway.

Now I am trying to figure out whether I have a broken build
environment, so has anybody here yet built a profiling Guile yet? Or
am I just too dumb to figure that profiling stuff out from the
gcc/gprof manuals?

Martin Grabmueller              address@hidden  address@hidden on EFnet

reply via email to

[Prev in Thread] Current Thread [Next in Thread]