sunterlib/s48/profile
Anthony Carrico 02699e0409 Add script to change install lib version from 1.2.0 to 1.3.0, and make that change. THIS IS UNTESTED. I have no idea if packages need further changes for 1.3.0. 2012-01-16 03:06:42 +00:00
..
AUTHORS Changed to new package system. 2004-03-10 17:23:45 +00:00
BLURB
NEWS Changed to new package system. 2004-03-10 17:23:45 +00:00
README
no-profile.scm
packages.scm Moved package and interface definition to packages.scm. Generate load scripts. 2004-03-14 22:59:57 +00:00
pkg-def.scm Add script to change install lib version from 1.2.0 to 1.3.0, and make that change. THIS IS UNTESTED. I have no idea if packages need further changes for 1.3.0. 2012-01-16 03:06:42 +00:00
profile.scm + fixed bug in table initialization 2004-03-12 08:01:33 +00:00

README

The structure MINI-PROFILER implements a minimalist profiler for
Scheme48 and scsh.  Time is measuered using Scheme48's RUN-TIME
function from TIME.

Functions
=========

  (profile-init!) -> unspecific

  Initialize or reset the profiler.  Calling this function will delete
  all information collected during previous runs of the compiler.

  (display-profile . port) -> unspecific

  Print the profiling information acquired to PORT.  If PORT is not
  specified use CURRENT-OUTPUT-PORT.

Syntax
======

  (account-for name body)

  Evaluate BODY and stop the time needed for doing so.  Account the
  time needed for NAME.  Especially useful for profiling code that
  makes heavy use of high-order functions or lazy evaluation.  Example:

  (define (compile-funcall exp)
    (account-for compile-funcall
      (let ((op  (compile (funcall-op exp)))
            (arg (compile (funcall-arg exp))))
        (lambda (env)
           (account-for eval-funcall
              (op (arg env stop-k)))))))

  define-prof

  DEFINE-PROF is a substitute for Scheme's DEFINE. Mini-profiler
  accounts the time needed to evaluate the procedure bound with DEFINE
  for DEFINE name.