This section describes the implementation enhancements added to FF with the goal of improving CPU and memory requirements. FF version 2.3 is highly optimized with respect to relaxed graphplan generation, which was assumed to be the performance bottleneck by the original system designers. We found that in several domains of the planning competition this assumption does not hold and the planner spends a significant portion of its time in other parts of the program. We applied two implementation enhancements to FF to reduce the CPU time requirements.
Another problem was that the memory requirements for some data structures built during the pre-processing stage grew exponentially with problem size and therefore did not scale. We replaced one of these data structures and were able to solve a few more problems in several domains within the memory limit used in the planning competition.
The enhancements described in this section affect neither the number of expanded nodes nor the quality of plans found by FF.