public class User
{
public int Id { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
У меня есть пользователей 100 тыс. Пользователей.Несколько полей Индексированный массив объектов
Запрос: Получить Пользователи, чье имя "Рафаэль" И чей возраст составляет от 40 до 50
- По Linq2Objects:. Users.Where (р => р Название == "Рафаэль" & & р. Возраст> = 40 & & p.Age < = 50) .ToArray();
Есть ли альтернативная реализация с лучшей производительностью? (Readonly поточно-)
(мультииндексированные Пользователи Array)
Я проверил его производительность. Для пользователей 1000 тыс. Требуется 30-50 мс. Кажется, это не важно, но это так. Потому что я могу получить 50 запросов за секунду.
С решением dharnitski. Требуется 0 мс. :)
Но есть ли какие-либо рамки кода, которые делают это прозрачно.
public class FastArray<T>
По потокобезопасным, вы имеете в виду, что будут выполняться другие процессы, записывающие вашу коллекцию, когда вы запрашиваете ее? –
Не жалко. ReadOnly ThreadSafe. Я обновил вопрос. – ozz
_Но есть ли какая-либо инфраструктура кода делает ее прозрачной. - Да. Это RDBMS :) –