Re: [Chicken-users] Profiling large programs
Thu, 10 Jul 2008 12:39:33 +0200, bunny351 wrote: > See trunk head. You can enable profiling for particular procedures > like this; > > (declare (profile ...)) Works perfectly for me. Thanks for the fast implementation of this useful feature, Felix! pgpb5l0uvGrad.pgp Description: PGP signature ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
Wed, 9 Jul 2008 13:45:30 -0700 (PDT), elf wrote: > are you inlining anything in the scheme source? Only some functions. I have eliminated these cases (and used -inline-limit 0), but no change. Now I will try Felix' solution ... pgpcRyugnbmPV.pgp Description: PGP signature ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
On Thu, Jul 10, 2008 at 9:13 AM, <[EMAIL PROTECTED]> wrote: > >> 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? > > Yes, that would be an interesting option! > See trunk head. You can enable profiling for particular procedures like this; (declare (profile ...)) cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
Hi Felix. Thu, 10 Jul 2008 09:10:09 +0200, bunny351 wrote: > 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 guessed so too. > 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? Yes, that would be an interesting option! Ciao Sven pgpY6aZ2ueJZ2.pgp Description: PGP signature ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
On Wed, Jul 9, 2008 at 1:55 PM, <[EMAIL PROTECTED]> 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 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
also, a 35X growth is not normal for profiling, and doesnt happen in the general case, which is why i was asking to see your scheme source. -elf On Wed, 9 Jul 2008 [EMAIL PROTECTED] wrote: Wed, 9 Jul 2008 10:55:07 -0700 (PDT), elf wrote: How large is the generated C file when profiling is not enabled? Only 37MB compared to 1300MB with profiling. (I cannot provide the Scheme source, but I assume that compiling chicken itself with -profile should show a similar effect.) Sven ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
are you inlining anything in the scheme source? -elf On Wed, 9 Jul 2008 [EMAIL PROTECTED] wrote: Wed, 9 Jul 2008 10:55:07 -0700 (PDT), elf wrote: How large is the generated C file when profiling is not enabled? Only 37MB compared to 1300MB with profiling. (I cannot provide the Scheme source, but I assume that compiling chicken itself with -profile should show a similar effect.) Sven ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
Wed, 9 Jul 2008 10:55:07 -0700 (PDT), elf wrote: > How large is the generated C file when profiling is not enabled? Only 37MB compared to 1300MB with profiling. (I cannot provide the Scheme source, but I assume that compiling chicken itself with -profile should show a similar effect.) Sven pgpO4VOhjqkqd.pgp Description: PGP signature ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
Oh, and can you provide a link to the scheme source from which this happened? Thanks. -elf On Wed, 9 Jul 2008 [EMAIL PROTECTED] 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.) Ciao Sven ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Profiling large programs
How large is the generated C file when profiling is not enabled? -elf On Wed, 9 Jul 2008 [EMAIL PROTECTED] 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.) Ciao Sven ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users