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

PCL/Standalone applications (the sequel)

Follow-up on PCL and standalone applications:

> From: alms@cambridge.apple.com (Andrew L. M. Shalit)

> My guess is that PCL calls the compiler at run-time to compile
> effective methods which haven't already been compiled and cached.  The
> compiler isn't available in stand-alone applications.

Yep.  That's what's happening.

There appear to be two solutions.  Andrew pointed out the first: 

> I'm not too familiar with PCL, but you might be able to run
> the application for a while (before calling SAVE-APPLICATION).
> This would get all the effective methods computed and cached.
> Then call SAVE-APPLICATION.  Of course, if you miss just one
> effective method, you'll lose at run time.

The other method is more robust, but (I'm sure) slower :-(. The following
flags are needed to ensure that the compiler is not invoked:

  (setf *compile-definitions* nil)
  (setf *fast-eval* nil)
  (setf pcl::*compiler-present-p* nil)

I don't know yet what the performance hit is of not using the compiler for
compiling/cashing methods. Possibly a combination of the two techniques
would be best.


	Sean Doyle / Radiology Dept / Mass. General Hospital 
 (or)	doyle@mgh-sisu.harvard.edu