CONTENTS | PREV | NEXT
17D. bin/ShowCache, bin/FlushCache
----------------------------------
The E Module Cache is a piece of memory that is able to hold modules (.m)
between compiles.  The first time you use a certain module, EC will load it
from disk and put it in the cache.  the second time and on, EC will find it in
cache and doesn't have to load anything from disk.  If EC compiles a module of
which an old version is present in cache, it will flush it.  One can imagine
that this a tremendous speedup, even for people with HD's when they use a lot
of modules and recompile often.

To see what's currently stored in the cache (and how much memory
it's wasteing :-), type:

1> ShowCache

A second utility, FlushCache, allows you to selectively remove modules
from the cache. Reasons for this can be:
- you can't afford the memory it uses
- you created a new .m, with a tool other than EC, so you need to flush
  by hand (in all other cases it's NOT necessary to flush!).
The argument to Flushcache is the substring that needs to occur in
a module name for it to be flushed. no args means flush all.

1> FlushCache                        ; empty whole cache
1> FlushCache intuition/             ; flush all intuition-related modules

You can use the EC option 'IGNORECACHE/S' to compile a source without
using the cache. Whether the cache is full or empty, EC will load
all from disk, and store nothing new in cache.

If two EC's try to access the cache simultaneously in multitasking,
the second EC acts as if its IGNORECACHE flag were set.