Size: a a a

2021 March 18

P

Pavel in F# Chat
Спасибо! Отправил в избранное
источник

P

Pavel in F# Chat
При добавлении в дикшионари / хэшмап фшарпного значения берется хэш, это значит что если значение композитное (список, рекорд, и / или деревянные структуры) то хэши возьмутся от всех значений, что при большом колве / вложенности может ухудшить перф. Нельзя ли какнить кэшировать ранее просчитанный хэш у объекта чтоб потом не пересчитывать каждый раз?
источник

DB

Denis Bobrov in F# Chat
Мне кажется не там проблему ищешь
источник

P

Pavel in F# Chat
Почему?
источник

P

Pavel in F# Chat
Неверное предположение или что?
источник

VS

Vasily Shapenko in F# Chat
Pavel
При добавлении в дикшионари / хэшмап фшарпного значения берется хэш, это значит что если значение композитное (список, рекорд, и / или деревянные структуры) то хэши возьмутся от всех значений, что при большом колве / вложенности может ухудшить перф. Нельзя ли какнить кэшировать ранее просчитанный хэш у объекта чтоб потом не пересчитывать каждый раз?
Это называется premature optimization
источник

VK

Viacheslav Koryagin in F# Chat
Pavel
При добавлении в дикшионари / хэшмап фшарпного значения берется хэш, это значит что если значение композитное (список, рекорд, и / или деревянные структуры) то хэши возьмутся от всех значений, что при большом колве / вложенности может ухудшить перф. Нельзя ли какнить кэшировать ранее просчитанный хэш у объекта чтоб потом не пересчитывать каждый раз?
override _.GetHashCode()?
источник

P

Pavel in F# Chat
Vasily Shapenko
Это называется premature optimization
А можно исходить что не прематуре
источник

I

Igor in F# Chat
Pavel
А можно исходить что не прематуре
Бенчи тогда давай)
источник

VS

Vasily Shapenko in F# Chat
Pavel
А можно исходить что не прематуре
Ты уверен,что тормозит расчет хешей?
источник

P

Pavel in F# Chat
Viacheslav Koryagin
override _.GetHashCode()?
Кстати да, я ведь у du могу перекрыть и закэшировать хэш..
источник

VS

Vasily Shapenko in F# Chat
А не то, например, что ты берешь кучу лишних данных?
источник

P

Pavel in F# Chat
Vasily Shapenko
Ты уверен,что тормозит расчет хешей?
Да
источник

VS

Vasily Shapenko in F# Chat
Pavel
Да
Бенчи
источник

VS

Vasily Shapenko in F# Chat
Нужны
источник

P

Pavel in F# Chat
Vasily Shapenko
Бенчи
Я проводил
источник

VS

Vasily Shapenko in F# Chat
Я не верю, что код выше написан оптимальным образом
источник

VS

Vasily Shapenko in F# Chat
Ну т.е. как закешировать, уже подсказали, осталось понять, сколько тебе миллионов хешей в секунду надо считать и зачем
источник

P

Pavel in F# Chat
Vasily Shapenko
Я не верю, что код выше написан оптимальным образом
У меня есть жирные Expr (это результат парсинга неких выражений) и при определенных обработках я хочу кэшировать резтаты для них. Но при поиске в дикшионари заметная часть уходит на хэши ( значения жирные)
источник

VS

Vasily Shapenko in F# Chat
Нужно больше конкретики
источник