|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Alexander_fx, 1. Проверить / показать народу как обьявлен "dictionary of double". заменить на Dictionary<double, X>. 2. Собрать статистику <хэш, кол-во елементов>, как часто проиходит колизия. И показать здесь. 3. При создании словаря указать сразу его вместимость. 3*10^7 * 1.4 4. Создать словарь со собственной функцией хэша и сравнения. В функциях сравнение убрать/не далатаь проверку NaN. 5. быстрее словаря только массивы. Можно ускориться ими при определённых условия. но нужно больше информации. P.S. Не часто встретиш потребность словаря с вещественным ключём. Автор, уваж любопытство, зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 17:09 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
mikronAlexander_fx, 1. Проверить / показать народу как обьявлен "dictionary of double". заменить на Dictionary<double, X>. 2. Собрать статистику <хэш, кол-во елементов>, как часто проиходит колизия. И показать здесь. 3. При создании словаря указать сразу его вместимость. 3*10^7 * 1.4 4. Создать словарь со собственной функцией хэша и сравнения. В функциях сравнение убрать/не далатаь проверку NaN. 5. быстрее словаря только массивы. Можно ускориться ими при определённых условия. но нужно больше информации. P.S. Не часто встретиш потребность словаря с вещественным ключём. Автор, уваж любопытство, зачем? ТС пишет: "Работаю с биржевыми данными данных много — 30 000 000 экземпляров записей в каждом экземпляре есть поле — цена — тип Double необходимо иметь быстрый доступ к экземпляру по цене dictionary of double на мой взгляд работает медленно подскажите есть ли что то быстрее может есть специализированные библиотеки сторонних производителей. или может кто то видел библиотеки для работы с большими обьемами данных. ." ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 17:44 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Winnipuh, Я вобще-то читать умею, а вот представить себе не могу. зачем мне знать то у нас по цене 2.54? Предположим - картошка, чудесно. А вдруг лук тоже по 2.54. Он нам уже не нужен? А почему не нужен а картошка нужна? А если картошка по 2.53 то нам уже точно нужен лук? Я могу ещё представить задачу: найти все продукт с максимальной ценой не больше заданной. А вот с задахей автора нихего представить не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 17:53 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Скорее всего это он неправильно сформулировал постановку задачи для сбора стакана заявок. Там, помимо цены, ключом выступает финансовый инструмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 17:57 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
mikronWinnipuh, Я вобще-то читать умею, а вот представить себе не могу. зачем мне знать то у нас по цене 2.54? Предположим - картошка, чудесно. А вдруг лук тоже по 2.54. Он нам уже не нужен? А почему не нужен а картошка нужна? А если картошка по 2.53 то нам уже точно нужен лук? Я могу ещё представить задачу: найти все продукт с максимальной ценой не больше заданной. А вот с задахей автора нихего представить не могу. я хотел помочь людям ии занес с другого форума. мне вот интересно: вещественные числа могут храниться в каком-то виде вместо 2.45 будет 2.4499999999999 и как искать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 18:12 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
WinnipuhmikronWinnipuh, Я вобще-то читать умею, а вот представить себе не могу. зачем мне знать то у нас по цене 2.54? Предположим - картошка, чудесно. А вдруг лук тоже по 2.54. Он нам уже не нужен? А почему не нужен а картошка нужна? А если картошка по 2.53 то нам уже точно нужен лук? Я могу ещё представить задачу: найти все продукт с максимальной ценой не больше заданной. А вот с задахей автора нихего представить не могу. я хотел помочь людям ии занес с другого форума. мне вот интересно: вещественные числа могут храниться в каком-то виде вместо 2.45 будет 2.4499999999999 и как искать? вещественные нужно искать с заданной степенью погрешности Пример из МСДН: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Поэтому-то и предложили заменить на decimal или предварительно умножать на 10000 и хранить как Int64 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 18:44 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Arm79вещественные нужно искать с заданной степенью погрешности Пример из МСДН: Денежные значения нужно хранить в decimal... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2016, 19:02 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
AxeleronДенежные значения нужно хранить в decimal... А денежные знаки в банке. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 11:03 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
mikronAxeleronДенежные значения нужно хранить в decimal... А денежные знаки в банке. Если есть таковые. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 12:39 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Axeleronmikronпропущено... А денежные знаки в банке. Если есть таковые. причем, при условии, если есть и те , и другие ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 12:44 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
mikronAlexander_fx, 1. Проверить / показать народу как обьявлен "dictionary of double". заменить на Dictionary<double, X>. 2. Собрать статистику <хэш, кол-во елементов>, как часто проиходит колизия. И показать здесь. 3. При создании словаря указать сразу его вместимость. 3*10^7 * 1.4 4. Создать словарь со собственной функцией хэша и сравнения. В функциях сравнение убрать/не далатаь проверку NaN. 5. быстрее словаря только массивы. Можно ускориться ими при определённых условия. но нужно больше информации. P.S. Не часто встретиш потребность словаря с вещественным ключём. Автор, уваж любопытство, зачем? 2- подскажите плиз как собрать данную статистику p.s. - полностью согласен что double тут типиковая ветвь - буду переходить на int . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2016, 21:38 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Alexander_fxсмущало то что в этом диапазоне много разряженностей которые в пустую тратят память но есть большой плюс доступ к элементу по индексу.Посмотрите в сторону LinkedHashMap . По сути это HashMap + Linked Key List. К сожалению, аналога в .NET не существует. Но есть пример реализации: NHibernate.Util.LinkedHashMap . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 01:57 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
UsmanAlexander_fxсмущало то что в этом диапазоне много разряженностей которые в пустую тратят память но есть большой плюс доступ к элементу по индексу.Посмотрите в сторону LinkedHashMap . По сути это HashMap + Linked Key List. К сожалению, аналога в .NET не существует. Но есть пример реализации: NHibernate.Util.LinkedHashMap . а какие там преимущества? Код: c# 1. 2. 3. 4. 5.
по моему там обычная коллекция с обёрткой Entry, TValue значение которой находится в Value свойство Entry. по моему по скорости работать будет так же как и обычный Dictionary ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 08:39 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Roman Mejtesа какие там преимущества?Фишка в том, что ключи хранятся в порядке добавления в коллекцию. Т.о. избавляемся от разряженностей и при этом имеем доступ к элементу по индексу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 11:20 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
Alexander_fxmikronAlexander_fx, 2. Собрать статистику <хэш, кол-во елементов>, как часто проиходит колизия. И показать здесь. 3. При создании словаря указать сразу его вместимость. 3*10^7 * 1.4 4. Создать словарь со собственной функцией хэша и сравнения. В функциях сравнение убрать/не далатаь проверку NaN. 5. быстрее словаря только массивы. Можно ускориться ими при определённых условия. но нужно больше информации. 2- подскажите плиз как собрать данную статистику И вобоще, кто с биржевыми данными работает и сам может статиску собрать. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 12:22 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
тогда уж так Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 22:22 |
|
Подскажите самые быстрые коллекции
|
|||
---|---|---|---|
#18+
ну а вообще если инты с ценами то вообще халява у цен обычно маленький диапазон. Конвертишь в инты с заданной точностью, ищешь мин значение, это будет дельта, далее просто массив списков(если есть коллизии) где индекс это цена минус дельта ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 22:25 |
|
|
start [/forum/topic.php?fid=20&msg=39177026&tid=1400777]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 383ms |
0 / 0 |