Re: [Chicken-users] Profiling large programs

2008-07-10 Thread Sven . Hartrumpf
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

2008-07-10 Thread Sven . Hartrumpf
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

2008-07-10 Thread felix winkelmann
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

2008-07-10 Thread Sven . Hartrumpf
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

2008-07-10 Thread felix winkelmann
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

2008-07-09 Thread Elf


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

2008-07-09 Thread Elf


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

2008-07-09 Thread Sven . Hartrumpf
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

2008-07-09 Thread Elf


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

2008-07-09 Thread Elf


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