From: Vladimir Zolotykh
Subject: 'different times'
Date: 
Message-ID: <3C7CC9E8.1B125617@eurocom.od.ua>
Below I wrote down some particulars I about 'different times'. There
some quotes and some comments. Might be mistakes there because I don't
feel familiar with subject and I'd like to learn it better. Would you
mind to add some your comments to it ? So...

  1. read time

Duration of time that the code read by reader. Symbols are interned at
this stage. Macro #. could be used to specify actions to be done
during reading.

  2. compile time

compile time n. the duration of time that the compiler is processing
source code. [1]

When COMPILE-FILE or COMPILE works.

Affected: *compile-file-truename*.

  3. load time

load time n. the duration of time that the loader is loading compiled
code. [1]

When LOAD function works I think.

Could 'load time' be applied to loading source (not compiled) code ?
Or in that case the 'evaluation time/execution time' should be used
instead ?

Related: LOAD-TIME-VALUE, *LOAD-PATHNAME*, *LOAD-TRUENAME*,
*READTABLE*, *PACKAGE* (probably this list could be continued).

  4. run time

run time n. 1. load time 2. execution time [1] 

I could guess 'load time' just above in quote means 'loading
interpreted code' and 'execution time' means compiled one. Please
correct me If I mistaken.

  5. execution time

execution time n. the duration of time that compiled code is being
executed. [1]

run-time environment n. the environment in which a program is
executed. [1]

  6. evaluation time
...............
  7. macro expansion time
..........
Can say nothing useful here.


Run time, execution time and evaluation time seems very related but
also have some subtle differences.

Very related stuff: EVAL-WHEN. :COMPILE-TOPLEVEL, :LOAD-TOPLEVEL,
:EXECUTE could be specified with it. Latter two applicable both to
compiled and interpreted code. For interpreted code :LOAD-TOPLEVEL and
:EXECUTE means the same time. For compiled one :LOAD-TOPLEVEL means
loading compiled code and :EXECUTE means executing it in runtime
environment.

------------------------------------------------------------------------
[1] CLHS glossary

-- 
Vladimir Zolotykh

From: Barry Margolin
Subject: Re: 'different times'
Date: 
Message-ID: <wv7f8.5$Rd7.2401@paloalto-snr1.gtei.net>
In article <·················@eurocom.od.ua>,
Vladimir Zolotykh  <······@eurocom.od.ua> wrote:
>Below I wrote down some particulars I about 'different times'. There
>some quotes and some comments. Might be mistakes there because I don't
>feel familiar with subject and I'd like to learn it better. Would you
>mind to add some your comments to it ? So...
>
>  1. read time
>
>Duration of time that the code read by reader. Symbols are interned at
>this stage. Macro #. could be used to specify actions to be done
>during reading.
>
>  2. compile time
>
>compile time n. the duration of time that the compiler is processing
>source code. [1]
>
>When COMPILE-FILE or COMPILE works.
>
>Affected: *compile-file-truename*.
>
>  3. load time
>
>load time n. the duration of time that the loader is loading compiled
>code. [1]
>
>When LOAD function works I think.
>
>Could 'load time' be applied to loading source (not compiled) code ?
>Or in that case the 'evaluation time/execution time' should be used
>instead ?
>
>Related: LOAD-TIME-VALUE, *LOAD-PATHNAME*, *LOAD-TRUENAME*,
>*READTABLE*, *PACKAGE* (probably this list could be continued).
>
>  4. run time
>
>run time n. 1. load time 2. execution time [1] 
>
>I could guess 'load time' just above in quote means 'loading
>interpreted code' and 'execution time' means compiled one. Please
>correct me If I mistaken.

If there are any top-level forms that do anything other than defining
functions, and you compile the file, they will be executed at load time.
E.g. if the file contains:

(defvar *foo* (expt *bar* *baz*))
(print *foo*)

the calls to EXPT and PRINT will be executed at load time whether the file
is compiled or interpreted.

>  5. execution time
>
>execution time n. the duration of time that compiled code is being
>executed. [1]
>
>run-time environment n. the environment in which a program is
>executed. [1]
>
>  6. evaluation time
>...............

The duration of time that interpreted code is being executed.

>  7. macro expansion time
>..........

The subset of evaluation time or compile time when macros are expanded.

-- 
Barry Margolin, ······@genuity.net
Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Lieven Marchand
Subject: Re: 'different times'
Date: 
Message-ID: <m3lmde26wi.fsf@localhost.localdomain>
Vladimir Zolotykh <······@eurocom.od.ua> writes:

>   7. macro expansion time
> ..........
> Can say nothing useful here.

Affected by *macroexpand-hook*. You must not assume much about the
number of times a form will be expanded or at what time it will be
expanded.

-- 
Lieven Marchand <···@wyrd.be>
She says, "Honey, you're a Bastard of great proportion."
He says, "Darling, I plead guilty to that sin."
Cowboy Junkies -- A few simple words