guile-devel
[Top][All Lists]
Advanced

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

Re: Question about your profiling patch...


From: Keisuke Nishida
Subject: Re: Question about your profiling patch...
Date: Thu, 05 Apr 2001 16:49:10 -0400
User-agent: Wanderlust/2.4.0 (Rio) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/21.0.99 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

At 05 Apr 2001 12:41:06 -0500,
Rob Browning wrote:
> 
> Also, from reading your profiling patch, does this code mean that even
> if you (set! *profile-all* #f), that it'll keep profiling functions
> that already have profile-data?
> 
> +  /* Start profiling */
> +  prof_data = scm_object_property (proc, sym_profile_data);
> +  if (SCM_NFALSEP (SCM_CDR (scm_profile_all)) || SCM_NFALSEP (prof_data))
> +    {
> 
> If so, I hadn't realized that...

I don't remember what I was trying to do...  Maybe I wanted to
profile some selected procedures, instead of all procedures.
*profile-all* is used only when you want to profile all procedures
unconditionally, which may result in inaccurate output (because of
too much overhead).

The patch I posted was just a quick hack; I did not intend it
for practical use.  I'm now preparing a better profiling support
for my VM, so I'd rather want to work on it.

Kei

P.S.  I've got an idea of how to handle the current macros in my
      compiler.  Probably I can compile much of existing Scheme code
      without changing.

  % guile-vm
  Guile Scheme interpreter 0.3 on Guile 1.4.1
  Copyright (C) 2001 Free Software Foundation, Inc.

  Enter `,help' for help.
  address@hidden> (define-macro (foo x) (+ x x))
  address@hidden> foo
  $1 = #<macro 40321f00>
  address@hidden> (foo 1)
  $2 = 2
  address@hidden> 



reply via email to

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