Size: a a a

cxx.Дискуссионная

2020 April 06

RM

Roy Mustang in cxx.Дискуссионная
m_task хранит Entity задачи внутри registry, сегодня с утра бенчи проводил, самый лучший вариант это либо использовать только registry, но при этом придется хранить Entity внутри объектов класса (независимо от того, есть задача или нет), а так же придется контролировать что после того, как задача выполнилась - поле было в entt::null
источник

RM

Roy Mustang in cxx.Дискуссионная
Иначе есть вероятность коллизии (хоть и маленькая)
источник

RM

Roy Mustang in cxx.Дискуссионная
osm1um
Ты в первом поле индекс хранишь?
Да
источник

o

osm1um in cxx.Дискуссионная
Так в чём проблема?
источник

RM

Roy Mustang in cxx.Дискуссионная
osm1um
Так в чём проблема?
Ни в чем
источник

RM

Roy Mustang in cxx.Дискуссионная
Просто интересовался, какую концепцию выбрать из трех
источник

o

osm1um in cxx.Дискуссионная
источник

RM

Roy Mustang in cxx.Дискуссионная
источник

o

osm1um in cxx.Дискуссионная
Что ты вообще пишешь?
источник

RM

Roy Mustang in cxx.Дискуссионная
osm1um
Что ты вообще пишешь?
TaskManager - класс отвечающий за задачи, которые должны выполниться N раз по истечению N времени
источник

o

osm1um in cxx.Дискуссионная
Roy Mustang
TaskManager - класс отвечающий за задачи, которые должны выполниться N раз по истечению N времени
Так почему ты их по времени не сортишь?
источник

RM

Roy Mustang in cxx.Дискуссионная
osm1um
Так почему ты их по времени не сортишь?
Сортирую, вон видишь там bool IsSorted
источник

o

osm1um in cxx.Дискуссионная
И просто по одному не берёшь?
источник

RM

Roy Mustang in cxx.Дискуссионная
С помощью метода CreateTask добавляются задачи, если хотя бы одна задача была добавлена - в Tick() методе выполнится сортировка, а затем проверка задач по времени
источник

RM

Roy Mustang in cxx.Дискуссионная
Так можно добавить хоть 1000 задач за раз и их сортировка обойдется всего в 1 вызов, а стоимость итерации снизится
источник

RM

Roy Mustang in cxx.Дискуссионная
Мапа тут не катит, у нее операции дороже чем у EnTT
источник

o

osm1um in cxx.Дискуссионная
Roy Mustang
С помощью метода CreateTask добавляются задачи, если хотя бы одна задача была добавлена - в Tick() методе выполнится сортировка, а затем проверка задач по времени
Так зачем тебе тогда всё это? Храни свой map(хотя я не вижу тут явных причин использовать его), и стэк задач, где будешь сортировать ссылки на объекты мапа по времени.
источник

o

osm1um in cxx.Дискуссионная
В мап свой обращайся как хочешь
источник

RM

Roy Mustang in cxx.Дискуссионная
osm1um
В мап свой обращайся как хочешь
Мап дороже чем текущая реализация
источник

o

osm1um in cxx.Дискуссионная
И просто чекай не удили ли запись
источник