Уплотнение памяти (MemoryConserve). Работа с пакетами расширений (Package).
Подпакет MemoryConserve в дополнение к имеющейся в ядре функции освобождения памяти Share [ ] содержит две директивы управления памятью:
- On [MemoryConserve] – включает автоматическое сжатие занимаемой системой памяти;
- Off [MemoryConserve] – отключает автоматическое сжатие памяти.
Ниже демонстрируется применение этого подпакета:
<<Utilities 'MemoryConserve' $MemoryIncrement 100000Table[ ToString[0], {2^15} ]; Length[ % ] MemoryConserve::start: Running Share[] to conserve memory. MemoryConserve::end: Finished running Share[]; 929200 bytes of memory freed. 32768Off[ MemoryConserve ] On[ MemoryConserve ]Данная утилита полезна лишь при использовании системы Mathematica на компьютерах с малым объемом оперативной памяти.
Работа с пакетами расширений (Package)
В подпакете Package имеется несколько функций, полезных при работе с пакетами расширения:
- FindPackages [path] – возвращает список файлов с расширением .m, имеющихся в каталоге path. Опция FullPath › True дает возврат полных (вместе с путем) имен файлов;
- FindPackages [path, pattern] – возвращает список файлов с расширением .m, имеющихся в каталоге path и удовлетворяющих заданному образцу pattern;
- Annotation [package] – возвращает список ключевых слов, содержащихся в аннотации пакета;
- Annotation [package, keyword] – возвращает текст аннотации пакета, связанной с ключевым словом keyword.
Примеры работы с этими функциями:
<< Utilities'Package' FindPackages[$Path, "*ca"] {{}, {}, {}, {DiscreteMath'Combinatorica'}, {}} FindPackages[$Path, "*ca", FullPath > True] {{},(},{}, {/usr/local/mathematica/AddOns/StandardPackages/ DiscreteMath/Combinatorica.m}, {}} Annotation["Utilities'Package'"] {Title, Context, Author, Summary, Package Version, Mathematica Version, Copyright, History, Keywords, Limitations, Discussion} Annotation["Utilities'Package'", "Mathematica Version"] {(*:Mathematica Version: 4.0 *)}