Python слишком медленный -Могу ли я переписать движок в низкоуровневых и cp-скриптах?

Итак, во-первых. Вот мой серверный движок. gilmud.py !

Хорошо, вот сокращенная версия моего предыдущего поста размером с роман.

Ссылка выше — это наш серверный движок Python для нашего MUD. Отмечая строки 73 -75 и 359 на

self.tickThread = threading.Thread(None, self.runTicks, None, ())
self.tickThread.start()

...

def runTicks(self):
    while self.running:
        time.sleep(.1)
        for thing in Thing.List.values():
            if thing:
                if "person" in thing.attrs:
                    if "spawner" in thing.attrs:
                        thing.tick()

вы, вероятно, увидите ужасный метод дать то, что нам нужно, примерно 100 игроков и 2000 мобов / NPC «жизнь». Галочка ()проверяет такие вещи, как то, будут ли они двигаться или брать предметы, находятся ли они в бою или становятся целью и т. д. То же самое касается игроков, за исключением нескольких автоматических вещей, конечно.

Можем ли мы каким-либо образом переписать часть или весь этот модуль, скажем, на C++, чтобы повысить производительность? В настоящее время наши необходимые 0,1-секундные тики составляют около 3 секунд с использованием python в методе, который у нас есть сейчас.

(Кроме того, мы пробовали НЕСКОЛЬКО различных типов потоков и без стеков. Ничего не помогло ).

Заранее спасибо за помощь! Любые советы приветствуются!

0
задан jtsmith1287 17 July 2012 в 20:53
поделиться