Tengo una aplicación (C#, WPF) que muestra muchos cuadros financieros con transmisión de datos en vivo desde el servidor. Los datos que se recopilan en la memoria pueden llegar a ser un poco grandes y no quiero guardar ningún dato en el disco.¿Debo comprimir objetos C-en-memoria para un mejor rendimiento?
Como los datos históricos en sí no cambian, pero solo se agregan a, ¿tiene sentido mantener esos datos (que se almacenan en un objeto de colección) en algún formato comprimido?
¿Es posible y alguien puede recomendar una buena práctica si es así?
ACTUALIZACIÓN
Algunas notas sobre el rendimiento y la solución de compromiso: Soy consciente de que la compresión se sumará un retraso acceder a los datos, pero, el usuario sólo necesita actualizaciones rápidas sobre nuevos datos que llegan. Al acceder a los datos que ya se procesaron (por ejemplo, para estudiarlos o reproducirlos), no necesita una respuesta rápida.
Cuando dices "grande", ¿qué tan grande quieres decir? – HABJAN
@HABJAN podría ser el décimo de MB o 100º, ¿por qué? Básicamente no es un "problema" manejar esta cantidad de datos, pero quiero mantener la huella de memoria de la aplicación lo más pequeña posible. – Saul
Recomiendo usar una solución industrial. Un ejemplo es la base de datos KDB que es genial como almacenamiento en memoria. – Andrey