Size: a a a

2020 September 01

G

GNU/Плюшка in C++ Together 2.0
А, понял
источник

G

GNU/Плюшка in C++ Together 2.0
Это не про это
источник

RM

Roy Mustang in C++ Together 2.0
В голову пришла мысля как кэшировать данные из хеш мапы внутри модулей
источник

RM

Roy Mustang in C++ Together 2.0
В общем, суть такая, при первом обращений к GetModule<Type> мы проверяем CacheModule<Type>::ptr и если он nullptr выполняем поиск по хеш карте и присваиваем в ptr указатель
источник

RM

Roy Mustang in C++ Together 2.0
если не nullptr, то нет смысла выполнять поиск по хеш карте
источник

RM

Roy Mustang in C++ Together 2.0
По мне так неплохая идея
источник

RM

Roy Mustang in C++ Together 2.0
Че молчим? Идею оценит кто-то или нет?
источник

G

GNU/Плюшка in C++ Together 2.0
хз
источник

RM

Roy Mustang in C++ Together 2.0
В общем, получается что в O(1) обойдется только первый вызов к методу GetModule
источник

RM

Roy Mustang in C++ Together 2.0
При условий что указатель не пуст конечно же в самой мапе, иначе будет пытаться по карте искать все время
источник

p

pika42 in C++ Together 2.0
Roy Mustang
В голову пришла мысля как кэшировать данные из хеш мапы внутри модулей
"В голову пришла мысля" - уже ору с этого
источник

m

mefest in C++ Together 2.0
Roy Mustang
В общем, получается что в O(1) обойдется только первый вызов к методу GetModule
а второй?
источник

RM

Roy Mustang in C++ Together 2.0
pika42
"В голову пришла мысля" - уже ору с этого
В чем ор?
источник

RM

Roy Mustang in C++ Together 2.0
mefest
а второй?
Второй O(1) тоже если следовать complexity правилам, только вот этот O(1) у хеш карты дороже, чем у static поля указателя
источник

RM

Roy Mustang in C++ Together 2.0
Второй и последующие обойдутся по цене обращения к указателю
источник

m

mefest in C++ Together 2.0
Roy Mustang
Второй O(1) тоже если следовать complexity правилам, только вот этот O(1) у хеш карты дороже, чем у static поля указателя
формулировка просто странная была, имхо
источник

RM

Roy Mustang in C++ Together 2.0
mefest
формулировка просто странная была, имхо
Я в том плане, что это будет быстрее хеш мапы
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
В общем, получается что в O(1) обойдется только первый вызов к методу GetModule
Напоминаю, что у хешмапы complexity - амортизированная константа, оно вполне может быть O(n) при хреновом хеше
источник

RM

Roy Mustang in C++ Together 2.0
🦊fox.cpp
Напоминаю, что у хешмапы complexity - амортизированная константа, оно вполне может быть O(n) при хреновом хеше
Верно
источник

🦊

🦊fox.cpp in C++ Together 2.0
Roy Mustang
В общем, суть такая, при первом обращений к GetModule<Type> мы проверяем CacheModule<Type>::ptr и если он nullptr выполняем поиск по хеш карте и присваиваем в ptr указатель
У меня такой вот вопрос, где этот кэшмодуль и почему ты сразу туда не можешь указатель положить
источник