Hugs 1.4 and the upcoming GHC-merged Hugs do not behave very NFS-frienldy
while chasing imports: The procedure chase calls pathCmp which in turn
always canonicalizes the paths, ignoring PATH_CANONICALIZATION. On
Unices having realpath, the following happens as a result: While loading
a program consisting of several modules, Hugs climbs up (via realpath)
and stat-ing every directory in the whole path for *every import in the
program*. This is a  real killer in an environment using NFS and deep
directory hierarchies, leading to loading times of several minutes for
a small, but highly modularized program. Two solutions come to my mind:

   * Hack/easy way: Respect PATH_CANONICALIZATION in pathCmp.

   * The Right Way (tm): Cache the real paths of loaded modules.

Cheers,
   Sven

-- 
Sven Panne                                        Tel.: +49/89/2178-2235
LMU, Institut fuer Informatik                     FAX : +49/89/2178-2211
LFE Programmier- und Modellierungssprachen              Oettingenstr. 67
mailto:[EMAIL PROTECTED]            D-80538 Muenchen
http://www.pms.informatik.uni-muenchen.de/mitarbeiter/panne

Reply via email to