2010-09-27 15 views
8

Nosotros (mi equipo) están a punto de iniciar el desarrollo de un proyecto de misión crítica, uno de los subsistemas de este proyecto es un servicio de Windows. Este servicio será una columna vertebral de todo el sistema y debe responder de acuerdo con el estándar crítico de la misión.¿LINQ es una opción válida?

Este servicio contendrá muchas listas para minimizar la interacción y la base de datos para obtener un rendimiento, estoy estimar el tamaño promedio de una lista para ser 250,00 en circunstancias normales.

¿Es una buena idea usar LINQ para consultar datos de estas colas, o debería seguir mi plan original de la creación de lista indexada?

lista indexada es una implementación personalizada de Idictionary, que funcionará como un índice y tendrá muchas características orientadas al rendimiento, tales como MRU, Índice de reconstrucción, etc.

Respuesta

10

Antes de rodar su propia solución, es posible que desee ver en i4o, un LINQ indexado al proveedor de Objetos.

De lo contrario, parece que la aplicación de su propia indexación bien puede valer la pena - pero hacer pruebas de rendimiento en primer lugar. "Misión crítica" a menudo se trata más de fiabilidad que de rendimiento: si LINQ to Objects funciona lo suficiente, ¿por qué no utilizarlo?

Incluso si haces fin de escribir sus propias colecciones, se debe considerar haciéndolos "LINQ consultable" de alguna manera (que dependerá de la naturaleza exacta de las colecciones) ... es agradable ser capaz de escribir consultas LINQ, incluso si no es en contra de vainilla LINQ a Objetos.

Cuestiones relacionadas