форсированный питон с рассолом

Я сейчас разрабатываю игру. Большая часть игрового процесса написана на python, а код, чувствительный ко времени, написан на C ++. Boost python 1.55 — это мост.

Я пытаюсь сериализовать (рассолить) класс IA, чтобы отправить их в сеть.

def update(self, elapsedTime):
core.pushCommand("update_ia", pickle.dumps(self), self.manager)

В целях тестирования эта функция называется каждым кадром, то есть примерно 60 раз в секунду.
И моя игра съедает 100 мегабайт памяти каждые несколько секунд и быстро выходит из-за истощения памяти.

Я пытался использовать другую версию этого кода, но закончил с той же проблемой:

def update(self, elapsedTime):
iostr = StringIO()
p = pickle.Pickler(iostr)
p.dump(self)
core.pushCommand("update_ia", iostr.getvalue(), self.manager)
iostr.close()
p.clear_memo()

Я также попытался использовать собственный модуль pickle вместо cPickle, но безрезультатно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]