Войти
ПрограммированиеФорумОбщее

Простая система событий на С++11 (комментарии) (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
22:20, 10 дек 2015

cNoNim
> т.е. ты только сейчас понял о чем код в статье?
Вы за темой вообще следите?

Много лишних сущностей, выделений памяти и синтаксического мусора

http://www.gamedev.ru/code/forum/?id=208411&page=3#m43

> все остальные вопросы можешь адресовать автору )
Вопросы адресованные к вам относятся к вашему варианту кода, поскольку "автор" ушёл в глубокую несознанку)

#61
22:26, 10 дек 2015

cNoNim
А можно для тех, кто в танке,- в чём юмор?

#62
22:28, 10 дек 2015

Hybernaculum
так я все что сделал поудалял лишние сущности в коде )

FordPerfect
ты unordered_map пользоваться тоже не умеешь?
что необходимо для использования чего либо в качестве ключа в unordered_map?

#63
22:38, 10 дек 2015

cNoNim
Мы на ты не переходили вроде.

cNoNim
> тебе ни чего не говорит словосочетание hash collision?
А вам никто не говорил что пример это пример? Замените хеширующую функцию на свою, в чем проблема?

cNoNim
> ладно не могу удержаться
Недержание это плохо, держитесь подальше от наркотиков. Если вас слово хеш так смешит, может к врачу сходить?

#64
22:41, 10 дек 2015

0r@ngE
RTFM!
Коллизия хеш-функции

#65
22:43, 10 дек 2015

0r@ngE
какая хеш функция о чем вы?
как можно использовать хеш в качестве ключа?
вы наверное знаете тайную хеш функцию которая не дает коллизий на произвольной строке?
что вообще за бред?

#66
22:45, 10 дек 2015

Ну что же вы всё обосрали? неужели так плохо?
(я тут статейку собирался запилить про применение рефлексии, но теперь передумал.)

#67
22:53, 10 дек 2015

cNoNim
> какая хеш функция о чем вы?
> как можно использовать хеш в качестве ключа?
> вы наверное знаете тайную хеш функцию которая не дает коллизий на произвольной
> строке?
> что вообще за бред?

В теории колизии дают все хеш функции.
На практике, при достаточной длине строки и вменяемой хеш фукции колизий можно избежать.
Лично я использовал FNV-1a вариант в нескольких зашипленых проектах - колизий не наблюдалось, проекты принесли кучу денег. http://isthe.com/chongo/tech/comp/fnv/
Если сильно страшно - можно Murmurhash.
Да хоть SHA2 если совсем паранойя бьет.

#68
23:01, 10 дек 2015

PVSector
> (я тут статейку собирался запилить про применение рефлексии, но теперь передумал.)
Пишите и не обращайте внимание. Всегда найдутся те кому помогла ваша информация. Если хоть одному человеку будет полезна - уже не зря старались.

PVSector
> Ну что же вы всё обосрали? неужели так плохо?
Да особо то не обосрали (кроме парочки личностей).
Вон тот же cNoNim вроде старается конструктивно коментировать, хоть его и заносит немного на поворотах, но это же живая дискуссия, люди редко совпадают во мнениях ;)

#69
23:03, 10 дек 2015

0r@ngE
послушайте ) это какая то несуразица... вы наверное просто устали и поэтому не понимаете чего пишете
сколько бит у size_t?
какая нафиг достаточно длинная строка?
у вас там имя типа и все, проблемы с коллизиями есть и в git и практически везде хоть там sha2 используется хоть что,
но выставлять использование хеша фичей в коде который
> А вам никто не говорил что пример это пример
это конечно нонсенс )
при этом ведь я намекнул на более правильную реализацию хеширования и использования в качестве ключа type_index еще в 40 посте...
но ладно я понял, у вас же распределенная система события лолд ;)

так этот код пример чего?

#70
23:10, 10 дек 2015

Так, я совсем туплю.
1. Юмор в #63 был строго про коллизии? С коллизиями понятно.
2. Чем type_index поможет?

#71
23:14, 10 дек 2015

FordPerfect
в распределенной системе событий ни чем, в локальной type_index это то что придумали для того, что бы использовать в качестве ключа unordered_map типы, или это не совсем очевидно что в статье с этим убер хешем пытаются переизобрести rtti?

#72
23:15, 10 дек 2015

cNoNim
> послушайте ) это какая то несуразица... вы наверное просто устали и поэтому не понимаете чего пишете
Уважаемый, я действительно начинаю уставать от вас.

cNoNim
> сколько бит у size_t?
А платформу уточните? К чему вообще этот вопрос?

cNoNim
> какая нафиг достаточно длинная строка?
Ну, относительно длинная.

Еще раз вам повторю - на практике (некоторые не только теорию на форумах флудят) - колизий у меня еще небыло. Будут - буду решать для конкретного случая.
Из примеров под рукой - тот же Doom3 который тут так боготворят - idDict в качестве ключей только строки и принимает. Функция взятия хеша от строки у них вас вообще заставит повеситься.

cNoNim
> при этом ведь я намекнул на более правильную реализацию хеширования и использования в качестве ключа type_index еще в 40 посте...
Что мне от этого толку, если, к примеру, я с Windows машины шлю событие на Linux сервер?  Соответствие std::type_info::hash_code на разных платформах стандартом не гарантируется.

#73
23:19, 10 дек 2015

0r@ngE

!!!карл!!!
для хеш таблиц нужна не только хеш функция, нужна функция равенства
использовать хеш функцию в хеш таблица, это не тоже самое что использовать хеш в качестве ключа

#74
23:21, 10 дек 2015

cNoNim
Конкретно type_index не гарантирует отсутствия коллизий. Конкретно GCC вызывает ровно хеш от строчки.
Если в map хранить type_info, а type_index использовать в качестве его хеш-функции, тогда ок, но таки вычисление хеша на каждый raise.

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.