|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|||||||||||
Список для максимально быстрого поиска по нему26.08.2015, 20:09. Показов 7306. Ответов 29
Метки нет (Все метки)
Сейчас у меня есть два списка строк - List<string> один MainBase, второй TempBase, мне надо выбрать из TempBase все строчки, которых нет в MainBase, ну что бы потом их добавить в MainBase.
Программа работает в многопоточном режиме, много этих MainBase и они относительно большие, короче при относительном количестве потоков неплохо загружает процессор, я так подозреваю из за поиска. Сейчас выборку я делаю так:
0
|
|||||||||||
| 26.08.2015, 20:09 | |
|
Ответы с готовыми решениями:
29
Оптимизировать структуру таблицы для быстрого поиска Хэш-таблица для быстрого поиска строки в массиве Отсортированный хэш-вектор бинарной схожести для быстрого поиска |
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|||
| 26.08.2015, 23:00 [ТС] | |||
|
Добавлено через 5 минут
1
|
|||
|
Администратор
|
|
| 26.08.2015, 23:23 | |
|
1
|
|
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
||||||
| 27.08.2015, 11:27 [ТС] | ||||||
|
Вот еще произвел некоторые замеры - выполнить какое то действие над элементом списка, после чего выполнить проверку и потом Except:
Кликните здесь для просмотра всего текста
Linq медленнее всего - 400 через расширения - 320 через цикл for - 310 Важный момент, каждый метод надо тестировать отдельно, потому что, тот метод что будет идти первым выполняется дольше, тот что второй быстрее, если поменять их местами, то цифры изменятся. PS конкретно в моем случае все же подойдет больше работа через расширения, т.к. у меня уже все построено на списках (List<string>) и так я меняю всего одну строку, а если переходить на HashSet то надо кучу всего переписать, а потом еще все время конвертировать из List в HashSet и обратно.
1
|
||||||
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||||||||
| 27.08.2015, 11:52 | ||||||||
1
|
||||||||
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||||||
| 27.08.2015, 13:17 | ||||||
|
Так будет работать? И насколько быстро? Проверь на своих больших файлах быстродействие, я правильность проверял на вложенных.
1
|
||||||
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|
| 27.08.2015, 13:48 [ТС] | |
|
Woldemar89, у меня отдельный класс который отвечает за получение и запись данных в файл, он построен на List.
Но я свой этот класс-переборщик (ну там где надо сначала Replace и Trim, потом IsNullOrEmpty и потом..) переписал с List на HashSet и кода стало меньше? да и перезаписывать не так часто приходится, я все так организовал, теперь посмотрим как пашет.
0
|
|
|
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
||
| 27.08.2015, 13:56 | ||
|
1
|
||
|
Администратор
|
||
| 27.08.2015, 14:23 | ||
|
0
|
||
|
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
||
| 27.08.2015, 14:37 | ||
|
0
|
||
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|
| 27.08.2015, 16:21 [ТС] | |
|
Woldemar89, BozKurt, tezaurismosis, вот я создал отдельную тему для этого вопроса: Получение и возвращение неопределенной коллекции
0
|
|
| 27.08.2015, 16:21 | |
|
Разработка приложения для более быстрого, индексированного поиска файлов по заданному имени (хэширование) Алгоритм быстрого поиска Конец "быстрого поиска"? Задача быстрого поиска Метод быстрого последовательного поиска Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|