¿Por qué se usa la compresión de backend?

Bueno, en primer lugar, aunque puede que no sea una tarea pesada para el dispositivo cliente comprimir una imagen, pero no puede ser la mejor práctica para realizar ese tipo de tareas en la parte frontal. Los dispositivos débiles probablemente se bloquearían debido a los límites de memoria, y así sucesivamente.

Pero lo más importante, no puede confiar en un dispositivo cliente para que le diga si la imagen está comprimida o no. Sería simple omitir la compresión y decirle al servidor que la imagen original es la comprimida, especialmente en la web usando herramientas de desarrolladores.

Dado que la mayoría de los dispositivos actuales (iPhones en su mayoría) podrían manejar fácilmente la compresión, tienes un punto. Sería bueno distribuir el servicio de compresión a los clientes, haciendo el trabajo más ligero para el servidor, pero si de repente deciden cambiar el algoritmo de compresión o deshabilitarlo, tendrían que obligar a los clientes a actualizar la aplicación . Además, la biblioteca de compresión haría que la aplicación fuera un poco más grande, y los clientes realmente no lo apreciarían.

La compresión de imágenes puede requerir algo de potencia de procesamiento, pero le costaría a Instagram mucho más almacenamiento si hubiera una forma de evitar la compresión. A partir de 2016, se suben 80 millones de imágenes por día. Si una imagen es de aproximadamente 1 MB (y podría ser más, ya que se están introduciendo mejores cámaras en cada teléfono nuevo), eso es 80 Terabytes de datos por día. Ahora imagine que si comprimen las imágenes solo en un 20%, les ahorraría 16 TB por día. Y eso es mucho más en términos de dinero, entonces se requiere para procesar esas imágenes.

More Interesting

Cómo mejorar en la implementación de algoritmos

Cómo escribir un programa ruby ​​para mostrar los números de Armstrong en una matriz (siendo la matriz; Números = [123,124,153,370,234,23,45]

¿Por qué son importantes los números primos para la seguridad informática?

¿Qué algoritmo es mejor de prims y kruskal y por qué?

En Kaggle Competition, ¿qué algoritmo de aprendizaje por conjuntos prefiere? ¿Voto mayoritario, promedio ponderado o algunos algoritmos avanzados como el embolsado?

Cómo resolver http://www.spoj.com/problems/SAMER08A/ usando el algoritmo de Dijkstra

¿Cómo funciona el ciclo for de este algoritmo?

¿Cuáles son los principales usos de un diagrama de flujo?

¿Cómo encuentra un ciclo en una lista "simple" usando solo dos punteros?

¿Cuál es la diferencia entre un algoritmo y una fórmula?

Mis ubicaciones están por venir, así que he estado implementando estructuras de datos y algoritmos en Python, pero llegué a saber que muchas empresas no tienen Python instalado en sus estaciones de trabajo. ¿Es verdad? Y si es así, ¿estaría bien cambiar de Python a Java, que no recuerdo mucho?

¿Cómo podemos calcular el factorial de los primeros N números naturales usando la metaprogramación de plantilla en C ++?

¿Qué significa 'estructuras de datos de dimensión única' en programación?

¿Cómo los algoritmos de programación dinámica son mejores que otros algoritmos?

¿Cuál es el algoritmo utilizado para llenar el tablero en el juego Bejeweled Blitz?