|
|
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovВряд ли кому требуются обратные слова и т.п. Там нормальные слова, просто отсортированы с учётом обратного чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 12:48:54 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyAleksandr SharahovВряд ли кому требуются обратные слова и т.п. Там нормальные слова, просто отсортированы с учётом обратного чтения. Понятно, сначала подумал, что инвертированы) Ну тогда Лопатина достаточно, наверно. Он больше других (Зализняка, например) и не содержит старых неинтересных слов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 12:55:36 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovSOFT FOR YOU, Когда ты напишешь функцию с обработкой 4 байта за итерацию, не порождающую больших кластеров в хеш-таблице, ты увидишь, что она не быстрее Седжвика. Ничего не знаю На реальном примере TFastComparer.GetHashCode всех порвал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:36:51 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUНичего не знаю На реальном примере TFastComparer.GetHashCode всех порвал Это решение под задачу. Теперь порви на словаре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:43:54 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Так тестовые проекты нужны На чем экспериментировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:45:34 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUAleksandr SharahovSOFT FOR YOU, Когда ты напишешь функцию с обработкой 4 байта за итерацию, не порождающую больших кластеров в хеш-таблице, ты увидишь, что она не быстрее Седжвика. Ничего не знаю На реальном примере TFastComparer.GetHashCode всех порвал Новый Дженкинс, он тоже по 4 байта работает, а все равно медленно. Не знаешь, почему? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:47:37 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUТак тестовые проекты нужны На чем экспериментировать Ссылки на словари даны, компареры у тебя написаны... Грузи слова в TDictionary, меряй скорость добавления и поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:47:54 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeySOFT FOR YOUТак тестовые проекты нужны На чем экспериментировать Ссылки на словари даны, компареры у тебя написаны... Грузи слова в TDictionary, меряй скорость добавления и поиска. Мне лень каждый раз повторять то, что уже написано Если вам западло такие проектики выкладывать, мне тоже западло вносить какие-то оптимизирующие правки Погоня за минимумом коллизий - это хорошо. Но забывать о производительности хеш-функции слишком глупо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 13:58:52 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUМне лень каждый раз повторять то, что уже написано Ты хочешь, чтобы я за тебя написал LoadFromFile и загрузку строк в словарь? SOFT FOR YOUЕсли вам западло такие проектики выкладывать, мне тоже западло вносить какие-то оптимизирующие правки У тебя уже есть готовый проект для TDictoonary, осталось только другие данные загрузить. У меня бенчи это часть юнит-тестов, поэтому вытягивать код оттуда просто так не получится. SOFT FOR YOUПогоня за минимумом коллизий - это хорошо. Но забывать о производительности хеш-функции слишком глупо Какой прок от скорости функции, когда коллизий куча и распределение выглядит как сосредоточение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 14:18:50 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Посчитал количество кластеров на очищенном словаре Лопатина (~151 тыс. слов) : RSHash(UTF16): 28188, десять самых крупных кластеров (61, 54, 54, 49, 47, 47, 46, 46, 45, 45) SHAPFCT(1251): 28587, десять самых крупных кластеров (42, 42, 41, 41, 40, 39, 39, 37, 37, 36) Jenkins(UTF16): 28515, десять самых крупных кластеров (55, 51, 50, 50, 48, 44, 43, 41, 40, 40) FastHash(UTF16): 8266, десять самых крупных кластеров (23804, 15957, 15278, 11214, 8941, 8303, 4138, 3138, 2489, 2177) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 15:47:13 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, А файлы тестовые я тебе из задницы достану? А выгрузку распределения заново писать? Нахрен нужно ) А прок по скорости я вроде уже показал цифрами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 15:51:56 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUА файлы тестовые я тебе из задницы достану? Ссылки на словари есть на последних двух страницах. Можешь взять последнюю на Лопатина, там всё готово к употреблению. SOFT FOR YOUА выгрузку распределения заново писать? Когда по скорости догонишь Седжвика, тогда я тебе распределение нарисую SOFT FOR YOUА прок по скорости я вроде уже показал цифрами Ещё раз: у тебя было решение под конкретную задачу. Сравнивать это с универсальными хешами не серьезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 16:03:28 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Под какую нахрен конкретную задачу? Есть словарь из разных слов. А твои GUID и нумераторы - это бред, ничего общего не имеющего с реальностью. Гвиды вообще бред сравнивать по строкам. Это 4 инта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 16:15:57 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUПод какую нахрен конкретную задачу? Есть словарь из разных слов. А твои GUID и нумераторы - это бред, ничего общего не имеющего с реальностью. Гвиды вообще бред сравнивать по строкам. Это 4 инта ОК, нет в твоей реальности строковых guid и слабоменяющихся ключей - дело хозяйское, кто я такой чтобы тебя переубеждать. Я тебе распределение твоего хеша не на гидах показал, а на, вполне себе, "словаре из разных слов". Если хочешь, ещё и скорость померить могу, только тебе результат не понравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 16:32:03 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Так выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 16:54:42 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUKazantsev Alexey, Так выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать старая песня - "я не хочу ничего делать, но я считаю, что я прав" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 16:59:34 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUТак выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать Тестовые данные , нормальный тестовый проект . Обгонишь по скорости Седжвика с Дженкинсом, будем рисовать распределение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 17:05:24 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
defecator, Я ваще-то компаратор написал и хеш, который всех уделывает ) Ты читаешь иногда или твоя миссия разжечь срач? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 18:16:07 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUdefecator, Я ваще-то компаратор написал и хеш, который всех уделывает ) Ты читаешь иногда или твоя миссия разжечь срач? ) читаю, и не только тебя. Но Казанцеву я верю гораздо больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 18:55:35 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
defecator, Вопрос веры - это не ко мне ) У меня есть область применения и цифры :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 19:26:57 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, если интересно, вот еще параметры, дающие неплохие результаты у меня в тестах: хорошие параметры для ShaPerfectHash Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. хорошие параметры для ShaStringDictionaryHash Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 19:58:07 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, забыл добавить, что в каждой группе параметров первая тройка - без учета фамилий, а параметры, начиная с 4, подобраны с учетом фамилий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 20:04:47 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUdefecator, Вопрос веры - это не ко мне ) У меня есть область применения и цифры :) казанцев убедителен, а ты - нет. Пока что обычный словоблуд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 21:02:33 |
|
||
|
TDictionary или TList<>.BinarySearch с позиции поиска
|
|||
|---|---|---|---|
|
#18+
к статье прикрепил исходник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2017, 23:31:21 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39380570&tid=2041988]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
249ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 604ms |

| 0 / 0 |
