[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Profiling large programs
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] Profiling large programs |
Date: |
Thu, 10 Jul 2008 09:10:09 +0200 |
On Wed, Jul 9, 2008 at 1:55 PM, <address@hidden> wrote:
> Hi all.
>
> Compile times of chicken increase considerably when adding -profile.
> For example,
> 17 hours on a recent 2.4GHz processor instead of just some minutes
> without -profile.
> Furthermore, the resulting C file is 1.3GB so that it cannot be
> compiled by gcc. Here is the start of the resulting C file:
>
> /* Generated from nallch.scm by the CHICKEN compiler
> http://www.call-with-current-continuation.org
> 2008-07-08 18:46
> Version 3.3.1 - linux-unix-gnu-x86 [ manyargs dload ]
> SVN rev. 10820 compiled 2008-05-14 on ki220 (Linux)
> command line: nallch.scm -debug-level 0 -optimize-level 1 -profile
> -output-file nallch3.c
> used units: library eval data_structures ports extras srfi_69 profiler
> posix srfi_1
> */
> ...
>
> Does anybody have any hints how to profile a large program?
> (Separate compilation is not an option for me, currently.)
>
Enabling profiling adds considerable decorations to the code (so it's
mostly a pure source-code-level operation). By doing more of the
decoration on the C-level (and with the necessary changes to the
backend), this could be reduced, but there is no quick solution
I can offer, other than separate compilation (which, as you already
said, isn't possible for you). What would perhaps be easier, is to
allow selective profiling (say by declaring a number of procedures
that should be profiled). Would this be acceptable for you?
cheers,
felix