| Re: Painfully slow IDL startup [message #52091 is a reply to message #52000] |
Tue, 26 December 2006 08:07  |
news.verizon.net
Messages: 47 Registered: August 2003
|
Member |
|
|
Richard G. French wrote:
> Answering part of my own question:
> It takes about 5 seconds for IDL to traverse the PATH +$IDL_DIR
> It takes about 15 seconds for IDL to traverse my local routines path, which
I haven't tried this, but perhaps you can improve your startup speed
by defining your !PATH to avoid caching during startup. From the IDL
help:
********************
Depending on the value of your !PATH system variable, you may notice
that some directories are being cached immediately when IDL starts up.
This will occur if your path definition string includes the
<IDL_DEFAULT> token, or if one or more entries include the "+" symbol.
In these cases, in order for IDL to build the !PATH system variable, it
must inspect subdirectories of the specified directories for the
presence of .pro and .sav files, with the side effect of adding these
directories to the path cache.
*******************
So I would guess that your would speed up your startup if you avoid
<IDL_DEFAULT> or the "+" symbol in your initial !PATH. Directories
would be cached only as they are subsequently searched. I think
you can still avoid the initial caching, if you use EXPAND_PATH to
expand your directories, e.g.
!path = expand_path('+/usr/local/bin/idl/bin')' + ':' + !PATH
Of course, you could also disable path caching completely, but that
would impose a much larger time penalty in subsequent procedure calls.
Finally, your reported times seem much too long to be due to a normal
PATH search problem, and suggest that there might be something else
going on (like the previous suggestion of searching for a printer).
--Wayne
|
|
|
|