LearnProgramming/libastar — pull request #17 by jgulotta (2012-12-23 08:24:10+00:00)
Title: Allow heapset to manage closed state

Partially address #8

HeapSet now remembers all states whether they are on the heap or not and has accordingly been renamed to CachingHeapSet.
States will only be put on the heap, updated, or reinserted if they a) were not there before or b) are not closed and of higher priority than what's already on the heap.
States are optionally closed when they are popped off the heap.

Memory use and allocations went down from eliminating the extra set.

3x3 case
---
Before: total heap usage: 27,547 allocs, 27,547 frees, 2,123,227 bytes
allocated
After: total heap usage: 26,681 allocs, 26,681 frees, 2,087,203 bytes
allocated