|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Roman Mejtes, Если бы не было проблемы, то и не было бы темы, дубликаты были и довольно часто ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:20 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Petro123Повторы если и будут, то лично по недосмотру архитектора). Повторы допускаются спецификой программы ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:22 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokPetro123Повторы если и будут, то лично по недосмотру архитектора). Повторы допускаются спецификой программы Кто берёт повторно на обработку? Почему нет хранилища? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:38 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_Novichok, Отсутствие повторной обработки обеспечивает хранилище с индексом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:39 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Petro123Отсутствие повторной обработки обеспечивает хранилище с индексом. обработка строк производится в нескольких параллельных потоках, в которых эти самые строки могут дублироваться. Чтобы не делать эту повторную обработку и создается своего рода кеш обработанных значений, который шарится между потоками. В общем в виду сложности обеспечения быстрого, надежного и дешевого способа сделать выжимку из строки, принято решение, что для каждого потока свой маленький кеш будет, ключом которого и будет сама строка. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:48 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
с делать нормальный конкурентный доступ к строкам, чтоб 2 потока не могли получить 1 строку не проще сделать? потом не удивляйтесь, что на костылях далеко не уедет. как вы гарантируйте в вашей многопоточной среде, что оба потока не захватят 1 и туже строку, пока идет обращение к маленькому кешу? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 16:52 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
добавьте синхронизацию, что в 1 момент времени только 1 поток мог получить строку и проблемы не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 17:03 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_Novichokобработка строк производится в нескольких параллельных потоках, в которых эти самые строки могут дублироваться. А я думал, откуда у вас повтор на обработку? )). Вы сами сделали дубли распарралелив задачу. А темните, что дубли на входе)). Вас всё равно трудно свернуть с Вашего решения. Удачи). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 17:03 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Roman Mejtesдобавьте синхронизацию, что в 1 момент времени только 1 поток мог получить строку и проблемы не будет +1 Можно ещё искусственно нарезать куски каждому потоку. В общем, Фаулер советует не допускать конкуренции без нужды). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 17:06 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Petro123Вы сами сделали дубли распараллелив задачу. А темните, что дубли на входе)). я не скрывал этого, и уже говорил, что дубли строк допускаются. Ну специфика приложения такая. Ну разве я стал морочить голову из-за того, что не могу сделать выборку уникальных строк и обработать каждую отдельно? Если в параллельные потоки попадают дубликаты строк, значит это допустимо, и сразу скажу, оттуда их не представляется возможным убрать. и не в синхронизации проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 18:53 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokPetro123Вы сами сделали дубли распараллелив задачу. А темните, что дубли на входе)). я не скрывал этого, и уже говорил, что дубли строк допускаются. Ну специфика приложения такая. Ну разве я стал морочить голову из-за того, что не могу сделать выборку уникальных строк и обработать каждую отдельно? Если в параллельные потоки попадают дубликаты строк, значит это допустимо, и сразу скажу, оттуда их не представляется возможным убрать. и не в синхронизации проблема Недавно была пятничная тема про получение уникальных строк, посмотри , может что полезное найдешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 19:15 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_Novichok за что я люблю отечественные форумы, что на них вместо ответа начинают рассказывать какие мы умные, и насколько тупой автор. на том же stackoverflow держатся как-то корректнее. Грустно из-за этого... Автор реально тупой и тугой, и это настолько очевидно, что подобное жалкое блеяние выглядит практически шедевром ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 19:50 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
hVostt, и где вы были раньше, чего так поздно подключились? Тема была бы интересней ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2017, 20:24 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokhVostt, и где вы были раньше, чего так поздно подключились? Тема была бы интересней "плохие отечественные форумы", где говорят правду в лицо и пытаются чему-то научить -- это уже китч. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2017, 19:50 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
если бы вы еще по делу выражались, и пытались чему-то научить. А так вы только пытаетесь правду-матку говорить в лицо. По делу батенька, по делу: предложите новый способ быстро и надежно захешировать строку. Или правду легче говорить? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 13:54 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_Novichokбыстро и надежно захешировать строку.GetHashCode() - это быстро и надежно. Проблема в том, что вы неверно понимаете термин хэш, и не хотите менять терминологию. Хэш неуникален по определению, а уникальное представление - это не хэш, это сама строка, либо ее сжатый без потерь вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 14:31 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokИли правду легче говорить? Это ваши слова? авторДля чего нужен хеш? мне он нужен, чтобы каким-либо образом идентифицировать строку, но не хранить в памяти сами строки, поскольку они могут быть очень длинными, при то, что сами строки нигде не используются Учитесь говорить, прежде чем на форумы и не ту молодёжь пенять. Вам дали 2 ссылки выше. Прочли? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 14:36 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
По поводу GetHashCode() я уже давно понял, и искал альтернативы ему. Увы, быстрой и надежной альтернативы не нашел. Остановились на использовании самой строки и ограничении кол-ва одновременных потоков для избежания чрезмерной нагрузки на память. Такой себе компромисный вариант. В пределах потока будут обрабатываться уникальные строки, ну а между потоками уже так и будет ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 15:13 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Shocker.ProGetHashCode() - это быстро и надежно Быстро, но не надежно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 15:13 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokБыстро, но не надежно для поставленной задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 15:14 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_NovichokShocker.ProGetHashCode() - это быстро и надежно Быстро, но не надежно Уже неоднократно написали что любой алгоритм хэша будет ненадежным идентификатором. Совпадение хэша двух строк означает что строки вероятно одинаковы. И вероятность тем выше, чем выше битность хэша. Т.е. строки равны при совпадении 128 бит MD5 намного вероятнее чем 32 бита GetHashCode(). Но 100% совпадения исходных строк ни один хэш не гарантирует. PS Заменил у себя функцию 64-битного хэша (брал половину MD5) на эту 20972692 . Обработка 700 тыс. строк стала быстрее на 1.4 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 15:54 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
_Novichok_NovichokБыстро, но не надежно для поставленной задачи Разве была задача без слова хэш-код? Мало декларировать альтернативы, надо ещё и быть готовым их обсуждать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 16:02 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
sha256 тебе сгодится ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 16:47 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Denis., уже смотрел, наряду с md5 слишком медленный ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 17:21 |
|
string.GetHashCode() - нужна альтернатива, гарантирующая результат
|
|||
---|---|---|---|
#18+
Petro123, Petro123Разве была задача без слова хэш-код? да что же вы к слову "хеш-код" прицепились? Ну вроде же прояснил задачу, зачем мне нужен этот код, а вы все цепляетесь к словам ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2017, 17:30 |
|
|
start [/forum/topic.php?fid=20&msg=39557000&tid=1399602]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 440ms |
0 / 0 |