ccplanner / planner

The Planner for Chips Challenge
6 stars 1 forks source link

Calling Fast Downward is slow #11

Open lotu opened 12 years ago

lotu commented 12 years ago

Considering how much we call fast downward it would be good to speed up the process. It appears that he translation step will take up most of the time. Ideally this could be improved, solutions might include calling the python code directly so another instance of python doesn't have to be initiated or using pipes to avoid writing to the file system.

alexmemory commented 12 years ago

Also, if it is spending a lot of time translating the domain part, that could possibly be reused since it doesn't change.

lotu commented 12 years ago

On my simple levels I found the translate part takes a lot of time. (This is with Alex's keys stuff) However, I found that pypy improves the speed a lot. After installing PyPy you can make Fast Downward use pypy by changing the first line of translate to be

! /usr/bin/env pypy

Cpython: translate took: 7.417950 sec preprocess took: 0.013125 sec translate took: 0.053023 sec total took: 7.484098 sec

PyPy: translate took: 2.643452 sec preprocess took: 0.012998 sec translate took: 0.039839 sec total took: 2.696289 sec

lotu commented 12 years ago

One more thing, I noticed that the first parsing step involves both pddl and the domain, so it will be difficult to reuse.

For more speed improvement I suspect we would have to profile and rewrite some parts in C.