¿Hay algún lenguaje de programación que comprima sus datos cuando se almacenan en la RAM?

¿Lenguajes de programación? No. Los lenguajes de programación tienen que funcionar bien en una amplia variedad de casos, y la mayoría de las veces la compresión de datos no vale la pena. Los datos almacenados en la RAM están ahí para ser * utilizados *, y es mucho más fácil usarlos directamente que descomprimirlos, hacer un cálculo y comprimirlos nuevamente.

Sin embargo, hay estructuras de datos particulares que * están * comprimidas. ¡El truco es que podemos comprimir datos de una manera con la que aún podemos trabajar! A veces, realmente podemos tener nuestro pastel y comerlo también. Hay un campo completo (bueno, algo así como un subcampo de un subcampo, pero, ya sabes …) llamado estructuras de datos sucintas (en Wikipedia). El objetivo es desarrollar estructuras que estén comprimidas en la memoria pero que aún permitan que ciertas operaciones se realicen rápidamente sin descomprimir los datos.

Algunos ejemplos interesantes son RRR: un índice de clasificación / selección sucinto para vectores de bits y árboles de ondículas; Ambas publicaciones de Alex Bowe son bastante accesibles. También hay un buen artículo sobre la implementación de árboles wavelet en JavaScript: unir 80,000 palabras en un archivo JavaScript.

Aquí está la charla que me presentó al campo; si tienes tiempo, es muy interesante ver: estructuras de datos sucintas de Edward Kmett.

No lo creo. Si un programa se ejecuta en RAM, es probable que se necesiten todos sus datos / códigos para ser utilizados. Comprimir esos datos en RAM haría que la aplicación sea mucho más lenta, ya que tendría que comprimir y luego descomprimir los datos cada vez que los necesite.

More Interesting

¿Necesito usar 2 palos idénticos (la misma marca, el mismo modelo) de RAM DDR4 juntos, o tiene el mismo tamaño y frecuencia (8 GB, 2133 MHz) suficiente?

No puedo entender el paso de fusión de tipo externo. ¿Cómo puedo ordenar 1 GB de datos en disco en 100 MB de RAM?

¿Es técnicamente posible tener una RAM rápida como caché mientras se mantiene grande?

¿Por qué los videojuegos funcionan tan lentamente si la tarjeta gráfica es insuficiente?

¿Cuál es la RAM, la placa base y la velocidad del procesador?

¿Es suficiente una fuente de alimentación de 650 W (Corsair RM650) para un SLI GTX 970 con 16 (2 × 8) GB de RAM, i7-4790k y ventiladores de 7x120 mm?

¿Seguirá Windows usando memoria virtual (o el archivo de página) cuando haya RAM física disponible?

Aproximadamente, ¿cuándo podrán las computadoras trabajar efectivamente con 8 petabytes de RAM?

¿Está bien un MacBook Air con 8GB de RAM, 256 SSD y procesador 2.2GHZ i7 con un diseño frontal y posterior?

Cuál es la mejor computadora portátil que puedo obtener con Rs. 50k? Estoy en la universidad, y las especificaciones que quiero son un i5 con 8GB de RAM, gráficos de 2GB y un disco duro de 1TB.

¿Cuál es mejor, 3GB RAM con un procesador quadcore de 1.3 GHz o 2GB RAM con un procesador octacore de 2 GHz?

¿Estas computadoras RAM funcionan con mis 2 computadoras?

¿Un adicional de 4 gb de RAM acelerará significativamente un i5-3337U 1.8Ghz 4 GB de RAM?

¿Puedo jugar a Watch Dogs en mi laptop HP? Sus especificaciones son: 4 GB de RAM y gráficos Radeon r5 m330 de 2 GB, Windows 8.1, Intel Core i3 (4.a generación)

¿Debo elegir Mi 4 sobre la edición Moto G Turbo debido a que tiene 3 GB de RAM?