Самый быстрый способ узнать, какие индексы установлены в BitArray (C#) - PullRequest
0 голосов
/ 13 февраля 2020

Мы изучали встроенные функции Popcount, которые, очевидно, являются сверхбыстрым способом подсчета количества битов, но есть ли способ (более быстрый, чем для l oop над BitArray), чтобы получить список или массив, который указывает c битов установлены или не установлены?

Контекст: у меня есть набор непрерывных временных меток, которые я могу представить в виде целых чисел (как индексы BitArray). У меня есть второй набор, и я ищу самый быстрый способ узнать, какие временные метки находятся в первой коллекции, а не во второй или наоборот.

Пока HashSet на самом деле быстрее, заполняя его первым установить, а затем вызвать .Remove () для каждого элемента во втором наборе. Он быстрый, но он также занимает центральное место в тысячах операций в минуту, которые должен выполнять мой код - поэтому я ищу более быстрый способ выполнения различий.

Я использую. NET Core 3.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...