Skip to content
This repository has been archived by the owner on Nov 24, 2020. It is now read-only.

Лаги из-за предметов #291

Open
iliakonnov opened this issue Jun 26, 2018 · 2 comments
Open

Лаги из-за предметов #291

iliakonnov opened this issue Jun 26, 2018 · 2 comments

Comments

@iliakonnov
Copy link

На данный момент, каждый предмет пользователя хранится в виде отдельного тупла с видом предмета, его именем и контекстом. Но, так как далеко не у всех предметов есть контекст, список предметов пользователя засоряется большим количеством совершенно одинаковых предметов, что очень плохо сказывается на производительности бота (лично у меня подсчет всех статов занял 45 секунд).
Предлагаю решить эту проблему так: те предметы, которые без контекста, можно легко проверить на идентичность. Потому их можно спокойно сгруппировать и хранить количество таких предметов. Предметы с контекстом пусть хранятся как и сейчас, их всё равно нельзя получить в больших количествах.

@iliakonnov
Copy link
Author

iliakonnov commented Jun 26, 2018

iliakonnov pushed a commit to iliakonnov/RogueBot that referenced this issue Jun 29, 2018
@iliakonnov
Copy link
Author

Сравнение производительности:
До: 2.8770041465759277
После: 0.0033593177795410156
Количество вещей сократилось с 10075 до 15.
Тестировал таким скриптом:

import usermanager
from time import time
u = usermanager.get_user(70478567)
for i in range(10000):
    u.add_item('good', 'box_gloves')
t = time()
u.get_damage()
t = time() - t
print(len(u.items), t)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant