Realmente no creo que Apple adquiera compañías para destruir la competencia. Basado en la Lista de fusiones y adquisiciones de Apple, la mayoría de las adquisiciones de Apple se han utilizado posteriormente como parte de uno de sus productos: muchas compañías de mapeo (que necesitan después de abandonar Google Maps), inversiones en semiconductores, AuthenTec para Touch ID, Siri, Chomp por su ranking en la App Store, Lala por iTunes Radio …
Cuando SnappyLabs publicó SnappyCam 3.0, sus creadores escribieron una publicación bastante detallada sobre la tecnología. Ya no puede encontrar la publicación en línea en su sitio, pero puede encontrarla en Archive.org SnappyLabs Blog – iPhone es el rey de la velocidad – SnappyCam desbloquea 20 imágenes / seg a 8 Mpx.
Aquí hay un par de citas:
- Cómo saber qué todas las tecnologías (front-end y backend) se utilizan para crear un sitio web en particular
- ¿Cuál es un marco de tiempo realista para cuando el "Prime Air" de Amazon estará disponible públicamente?
- ¿Cómo ocurren las adquisiciones en grandes empresas tecnológicas?
- ¿Qué tan importante es pagarle a un abogado para hacer un Términos de servicio profesionales?
- ¿Cómo puede la tecnología blockchain superar los problemas de escalabilidad en el futuro cercano?
Tuvimos que reinventar JPEG para hacerlo. Primero estudiamos los algoritmos rápidos de la transformación discreta del coseno (DCT) de principios de la década de 1990, cuando se introdujo JPEG. Luego ampliamos parte de esa investigación para crear un nuevo algoritmo que se ajuste bien a la arquitectura del conjunto de instrucciones del coprocesador ARM NEON SIMD. La implementación final comprende casi 10,000 líneas de código de ensamblaje sintonizado a mano y más de 20,000 líneas de código C de bajo nivel.
También optimizamos las burbujas de tubería usando una herramienta de contador de ciclos para que cada tictac del reloj se pusiera a trabajar.
Habiendo desarrollado una implementación DCT increíblemente rápida, Huffman se convirtió en un cuello de botella. Innovamos en esa parte con un código de ensamblaje ajustado a mano que aprovecha las características especiales del conjunto de instrucciones del procesador ARM para hacerlo lo más rápido posible.
Esas citas suenan como muchas optimizaciones dirigidas directamente al dispositivo solo para el codificador / decodificador JPEG. Las citas muestran mucha inteligencia e inteligencia de los ingenieros de SnappyLabs, y un muy buen conocimiento de los estándares y algoritmos JPEG.
Última cita:
Comprime disparos en software a velocidades que exceden las del codificador de hardware normalmente dedicado a la tarea.
Sí, SnappyLabs afirmó que su implementación de software fue en realidad más rápida que la implementación de hardware en el dispositivo.
Supongo que Apple verificó esas afirmaciones y descubrió que eran ciertas. Una vez que hayan adquirido SnappyLabs, pueden hacer dos cosas: soltar el compresor / descompresor JPEG de hardware y reducir los costos en sus dispositivos, o elegir una de sus compañías de semiconductores y pedirles que implementen algoritmos SnappyLabs en silicio. De cualquier manera, ganan un muy buen compresor / descompresor JPEG, que se usa intensamente todo el tiempo en sus dispositivos.
Si alguna vez ha realizado medidas de rendimiento de iOS, habrá notado que cargar archivos JPEG en realidad requiere mucho “tiempo” de procesador (“mucho” no es visible para los humanos, pero es muy notorio en los gráficos de rendimiento), por lo que cualquier mejora en ese cuello de botella beneficiará a muchas aplicaciones de Apple y aplicaciones de terceros.