У меня есть загруженный XDocument, который мне нужен, чтобы захватить все атрибуты, которые равны определенному значению и имеет определенный элемент эффективно. Мой текущийПроблемы с характеристикой атрибута XDocument
IEnumerable<XElement> vm;
if (!cacher2.TryGetValue(name,out vm)) {
vm = project.Descendants(XName.Get(name));
cacher2.Add(name, vm);
}
XElement[] abdl = (vm.Where(a => a.Attribute(attribute).Value == ab)).ToArray();
cacher2 является Dictionary<string,IEnumerable<XElement>>
ToArray так я могу оценить выражение в настоящее время. Я не думаю, что это вызывает какие-либо проблемы с реальной скоростью. Проблема в том, что сама сама. Я ищу в любом месте от 1k до 10k предметов.
Вы действительно видите какие-либо хиты производительности, или вы обеспокоены тем, что может быть один, если ваш набор поиска станет слишком большим? –
Я вижу огромный его с последней строкой кода. Верхние строки - это просто показать, что я кеширую как можно больше. Существует больше кода для кэширования результата abdl. Мне нужно знать, что мне нужно, чтобы преобразовать этот XDocument или какие специальные методы использовать, чтобы разрешить то, что мне нужно делать ... но быстрее. :-) – Dested