|
|
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
Почему-то в словаре типа TDictionary<integer, Boolean> количество элементов на три больше. А вот count показывает правильно. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. так и должно быть? Даже сразу после первой итерации видно, что там 4 элемента, хотя и Count = 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:23 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:23 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
Например есть статья почему реализация в Delphi оставляет желать лучшего.. https://habr.com/ru/post/282902 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:24 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
ок, спасибо :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:29 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
На самом деле не все так печально... Если словарь будет небольшой, то подойдет и стандартная реализация... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:31 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
А вообще, на будущее.... Допустим, нужен быстрый поиск по списку, т.к. есть отрисовка ячеек в большой таблице? Но количество элементов тоже небольшое: 5-10-50... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:34 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
X11А вообще, на будущее.... Допустим, нужен быстрый поиск по списку, т.к. есть отрисовка ячеек в большой таблице? Но количество элементов тоже небольшое: 5-10-50... https://www.delphitools.info/2015/03/16/string-lookup-hash-sorted-or-unsorted/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:37 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, это же 2015 год. В последних версиях TDictionary увеличили (вроде бы) быстродействие, если я ничего не путаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:44 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
X11, Capacity и Count разные вещи. Еще больше удивишься, когда в словаре будет несколько миллионов элементов и словарю в очередной раз придется увеличивать размерность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 16:47 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
cptngrbВ последних версиях TDictionary увеличили (вроде бы) быстродействие, если я ничего не путаю На моих тестах разницы между быстродействием словарей в XE6 и 10.3 нет никакой. На какой версии тестировался словарь в статье я не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 18:17 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
TDictionary - очень быстрая штука. 1000000 элементов у меня добавляются (с предварительной проверкой ContainsKey) за 500 мс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2019, 23:47 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
DmSer, а тип какой? <string, integer>? А попробуй ключ как класс из 10 простых типов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2019, 08:24 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
cptngrbDmSer, а тип какой? <string, integer>? А попробуй ключ как класс из 10 простых типов Пробовал <string, integer> и <Integer, Boolean>. Класс в качестве ключа не пробовал. В чём смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2019, 10:08 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
DmSer, в сравнении, в хэшировании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2019, 11:30 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
cptngrbDmSer, в сравнении, в хэшировании Разницы в скорости не заметил. Хэширование - это вызов метода TObject.GetHashCode - т.е. возвращает указатель (для 32 битов). Кстати, TDictionary не особо удобен в таком варианте использования (когда ключ - объект). Сам он такие ключи не чистит, а кто это должен делать - не ясно. Обработчик OnKeyNotify навешивать? Так и он объявлен по старинке - как procedure of object, а не анонимная процедура, хотя в то время вроде уже и анонимные процедуры можно было использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 20:39 |
|
||
|
Количество элементов в TDictionary
|
|||
|---|---|---|---|
|
#18+
DmSer, TObjectDictionary ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2019, 21:33 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39801635&tid=2039557]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 460ms |

| 0 / 0 |
