Я сделал программу в Maxima (переводит ее в lisp, когда она работает поверх lisp), которая постепенно решает уравнения. Я хотел показать, что в случае, если невозможно, чтобы все уравнения могли быть загружены в ОЗУ и решались одновременно, то немногие из них могут быть загружены и постепенно мы можем добавить больше и использовать решения из ранее разрешенных уравнений, чтобы получить больше решений для новых добавлены уравнения.Сбор мусора в GCL
Моя программа работает нормально. Но проблема в том, что я, если мне нужно показать, что мой подход сэкономит RAM, мне нужно запустить GC до того, как будет решена новая система уравнений, чтобы я мог видеть, как минимальная память, которую я использую, в то время как в настоящее время компилятор не выглядит автоматически перейти на GC, поэтому он отображает агрегированную память, используемую для полной работы.
Я использую Lisp осуществление версия: GCL 2.6.8.
Мне нужно знать, как я могу заставить сбор мусора или какой-нибудь более эффективный подход, который кто-то может предложить, если его невозможно заставить GC в lisp (я не мог найти способ).
Возможно, вас заинтересует [этот вопрос] (http://stackoverflow.com/questions/4194620/current-memory-usage-in-lisp). Вот информация о функции [room] (http://clhs.lisp.se/Body/f_room.htm). Возможно, такая статистическая информация (собранная несколько раз) может помочь вам доказать эффективность вашего алгоритма. – Mark
@Mark: спасибо за ссылку, но я могу собрать ее из «комнаты». Не могу ли я заставить GC? – Rorschach
Я бы просто прочитал руководство GCL ... –