powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TDictionary или TList<>.BinarySearch с позиции поиска
25 сообщений из 479, страница 7 из 20
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380464
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovВряд ли кому требуются обратные слова и т.п.
Там нормальные слова, просто отсортированы с учётом обратного чтения.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380468
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeyAleksandr SharahovВряд ли кому требуются обратные слова и т.п.
Там нормальные слова, просто отсортированы с учётом обратного чтения.

Понятно, сначала подумал, что инвертированы)
Ну тогда Лопатина достаточно, наверно. Он больше других (Зализняка, например) и не содержит старых неинтересных слов.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380476
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovSOFT FOR YOU,

Когда ты напишешь функцию с обработкой 4 байта за итерацию,
не порождающую больших кластеров в хеш-таблице,
ты увидишь, что она не быстрее Седжвика.

Ничего не знаю
На реальном примере TFastComparer.GetHashCode всех порвал
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380479
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUНичего не знаю
На реальном примере TFastComparer.GetHashCode всех порвал
Это решение под задачу. Теперь порви на словаре
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380480
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Так тестовые проекты нужны
На чем экспериментировать
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380481
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUAleksandr SharahovSOFT FOR YOU,

Когда ты напишешь функцию с обработкой 4 байта за итерацию,
не порождающую больших кластеров в хеш-таблице,
ты увидишь, что она не быстрее Седжвика.

Ничего не знаю
На реальном примере TFastComparer.GetHashCode всех порвал

Новый Дженкинс, он тоже по 4 байта работает, а все равно медленно.
Не знаешь, почему? )
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380482
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUТак тестовые проекты нужны
На чем экспериментировать
Ссылки на словари даны, компареры у тебя написаны... Грузи слова в TDictionary, меряй скорость добавления и поиска.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380484
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev AlexeySOFT FOR YOUТак тестовые проекты нужны
На чем экспериментировать
Ссылки на словари даны, компареры у тебя написаны... Грузи слова в TDictionary, меряй скорость добавления и поиска.

Мне лень каждый раз повторять то, что уже написано
Если вам западло такие проектики выкладывать, мне тоже западло вносить какие-то оптимизирующие правки
Погоня за минимумом коллизий - это хорошо. Но забывать о производительности хеш-функции слишком глупо
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380490
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUМне лень каждый раз повторять то, что уже написано
Ты хочешь, чтобы я за тебя написал LoadFromFile и загрузку строк в словарь?

SOFT FOR YOUЕсли вам западло такие проектики выкладывать, мне тоже западло вносить какие-то оптимизирующие правки
У тебя уже есть готовый проект для TDictoonary, осталось только другие данные загрузить. У меня бенчи это часть юнит-тестов, поэтому вытягивать код оттуда просто так не получится.

SOFT FOR YOUПогоня за минимумом коллизий - это хорошо. Но забывать о производительности хеш-функции слишком глупо
Какой прок от скорости функции, когда коллизий куча и распределение выглядит как сосредоточение?
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380518
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посчитал количество кластеров на очищенном словаре Лопатина (~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)
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380521
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

А файлы тестовые я тебе из задницы достану?
А выгрузку распределения заново писать?
Нахрен нужно )
А прок по скорости я вроде уже показал цифрами
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380526
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUА файлы тестовые я тебе из задницы достану?
Ссылки на словари есть на последних двух страницах. Можешь взять последнюю на Лопатина, там всё готово к употреблению.

SOFT FOR YOUА выгрузку распределения заново писать?
Когда по скорости догонишь Седжвика, тогда я тебе распределение нарисую

SOFT FOR YOUА прок по скорости я вроде уже показал цифрами
Ещё раз: у тебя было решение под конкретную задачу. Сравнивать это с универсальными хешами не серьезно.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380529
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Под какую нахрен конкретную задачу? Есть словарь из разных слов. А твои GUID и нумераторы - это бред, ничего общего не имеющего с реальностью. Гвиды вообще бред сравнивать по строкам. Это 4 инта
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380538
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUПод какую нахрен конкретную задачу? Есть словарь из разных слов. А твои GUID и нумераторы - это бред, ничего общего не имеющего с реальностью. Гвиды вообще бред сравнивать по строкам. Это 4 инта
ОК, нет в твоей реальности строковых guid и слабоменяющихся ключей - дело хозяйское, кто я такой чтобы тебя переубеждать. Я тебе распределение твоего хеша не на гидах показал, а на, вполне себе, "словаре из разных слов". Если хочешь, ещё и скорость померить могу, только тебе результат не понравится.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380546
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Так выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380547
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUKazantsev Alexey,

Так выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать
старая песня - "я не хочу ничего делать, но я считаю, что я прав"
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380550
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUТак выложи нормальные тестовые данные, нормальный тестовый проект, с замером времени, генерацией распределения и прочей штукой. А потом будем думать, что с этим делать
Тестовые данные , нормальный тестовый проект . Обгонишь по скорости Седжвика с Дженкинсом, будем рисовать распределение.
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380555
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Я ваще-то компаратор написал и хеш, который всех уделывает )
Ты читаешь иногда или твоя миссия разжечь срач? )
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380559
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecator,

Я ваще-то компаратор написал и хеш, который всех уделывает )
Ты читаешь иногда или твоя миссия разжечь срач? )
читаю, и не только тебя.
Но Казанцеву я верю гораздо больше
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380567
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator,

Вопрос веры - это не ко мне )
У меня есть область применения и цифры :)
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380570
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
  1507220783    -1866451833
  1852789959    -2104246109
  -996848191    -2095857799
   608143717    -1918976345
  1583064417     1853306143
 -1418726097    -1756110961
  1247305377     -614517569
   154873277     1260437083
   272429227     -817013361
   910335899      534943359
  1039183765    -1910953221
 -1544150601    -1013449763
  -563350827      703874843
   286304163      730400999
  1400797483     -321726865
  2134722875    -2043406881
   110780241    -1300254257
  1659010017      965692719
 -1899556311      -37308937
   876016841    -1133541753
  1112155011      541616715
   -83793279     1003072183
 -1776001609    -1612114257
  1154514959     1604042711
  -245981377      672648395
  2013434627     -534159625
  1130133757     -823670353
   244020569     1976849879
  1884505127      -66581213
  -227094231    -1416665393
   946057797    -1946028937
  -834410603      673366943
  1404564999     -115216531
  1136574613    -1851121241
 -1888429349    -1787246127
  -193018651    -1287572049
 -1504179921     2086273999
  -967793697     -695683425



хорошие параметры для 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.
 -1240289303     1443687719
  -437836607     1009908695
 -1414797085    -1708766681
  1871049915    -1969104769
  -640839071    -1709030943
  1442961793     -704284605
 -2114244305      600079703
 -1063315811     2133675487
  1235815317      174057607
  -569004607      414008357
  1434321035     -488684657
  -140889857    -1480209985
 -1955453513      814993511
  -857631583     1066602999
 -2121873517    -1725069113
 -1104774847    -1432882041
 -1581522493      825143103
   149848243    -1081285215
 -2008556367    -1332788011
  1762694451     -874798899
  -570407905      425610943
  -147913719     -400822189
   358900827    -2127100245
  1777260377    -1888969341

...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380572
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

забыл добавить, что в каждой группе параметров
первая тройка - без учета фамилий,
а параметры, начиная с 4, подобраны с учетом фамилий
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380579
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
SOFT FOR YOUdefecator,

Вопрос веры - это не ко мне )
У меня есть область применения и цифры :)
казанцев убедителен, а ты - нет. Пока что обычный словоблуд
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380596
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к статье прикрепил исходник
...
Рейтинг: 0 / 0
TDictionary или TList<>.BinarySearch с позиции поиска
    #39380757
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
исправил найденные баги и опечатки, добавил новые
...
Рейтинг: 0 / 0
25 сообщений из 479, страница 7 из 20
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TDictionary или TList<>.BinarySearch с позиции поиска
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]