Bienvenido a la parte 6 de nuestra serie de blogs «Optimizando su complemento ROS». Asegúrese de revisar la Sección 5. Esta sexta y última parte resumirá cada optimización que hicimos. Comentaremos cada optimización que intentemos en esta serie de blogs.
Finalmente, hemos llegado a la última parte de esta serie de publicaciones de blog que exploran cómo optimizar las instantáneas de ROS. Ahora es el momento de resumir nuestros resultados. Esta serie de blogs se inspiró en varios otros blogs publicados en el sitio web ubuntu.com/blog.
Lo que aprendimos de la optimización instantánea de ROS
En estas publicaciones de blog, probamos varias formas de mejorar las instantáneas en términos de tiempo o espacio.Si bien algunas optimizaciones solo son buenas (compilar Release
, elimine archivos innecesarios, limpie los duplicados de uso compartido de contenido), algunas otras optimizaciones requieren un cuidado y atención especiales. Optimizar un complemento no debería comprometer su estabilidad, después de que todos los complementos se construyen para la resiliencia.
Las instantáneas que reciben pocas actualizaciones y se benefician de muchas pruebas pueden aprovechar algunas de las optimizaciones más ambiciosas.
Ninguna de las optimizaciones que aplicamos aquí es específica de ROS, así que no dude en experimentar con otras instantáneas.
Además, debemos recordar que los paquetes instantáneos agrupan todas sus dependencias. Esto significa que nunca los hacemos tan pequeños como una tecnología de paquetes que depende de otros paquetes como dependencias (como los paquetes de Debian). Snap es completamente independiente. Proporcionan estabilidad y un formato de empaquetado común de Linux, pero no tienen todas las ventajas de otros formatos de empaquetado.
Todas las optimizaciones que cubrimos en esta serie de publicaciones de blog están disponibles en la rama feat/optimization
adentro repositorio gazebo_snapComo no los aplicamos todos al complemento Gazebo, en realidad usamos Fusionado en el repositorio de GitHub de gazebo_snapSi tiene comentarios o ideas sobre optimizaciones para instantáneas de ROS o instantáneas en general, únase nuestro foro Háganos saber lo que piensas.Además, mira documentación rápida Si quieres saber más sobre el complemento de la aplicación robot. Una guía para desarrolladores lo ayudará a aprender cómo implementar una aplicación de robot usando instantáneas.
Usted también podría estar interesado en:
Con respecto a la optimización de instantáneas de ROS, aprendimos que hay varias formas de optimizar las instantáneas. Las optimizaciones de la parte 2 deben utilizarse de forma extensiva, mientras que el resto depende de cada caso. Debido a la forma en que los paquetes Debian de ROS están definidos y tienen interdependencias, las instantáneas de ROS contienen una gran cantidad de archivos y paquetes que requiere nuestra aplicación. Espero que esta serie de publicaciones de blog lo haya ayudado a comprender rápidamente qué archivos están empaquetados y las diferentes formas de optimizar el tamaño del archivo.
Resumen de Resultados
Aquí encontraremos una tabla con todos los resultados. De esta manera, podemos hacer comparaciones rápidas.Por ejemplo, a través de nuestro Snap Store proporciona complemento Gazebo Hemos reducido su tamaño en más de un 40%. Liberamos 333 MB en un sistema anterior sin optimizaciones debido a que las instantáneas se actualizan automáticamente.
broches de presión Gazebo | Inicio fresco | Arranque en caliente | soy archivo | tamaño .snap | Tamaño de la hebilla de montaje |
---|---|---|---|---|---|
Depurar sin compartir contenido | 6.51 | 3.55 | 0.35 | 890 metros | 4,0 gramos |
depuración | 6.40 | 3.51 | 0.35 | 661 metros | 2,8 gramos |
liberar | 6.06 | 2.72 | 4.39 | 232 metros | 758 metros |
limpieza preliminar | 6.02 | 2.73 | 4.67 | 211 metros | 674 metros |
Eliminar Debian inútil | 6.09 | 2.75 | 4.36 | 193 metros | 626 metros |
Limpiar duplicados de uso compartido de contenido | 6.03 | 2.76 | 4.29 | 119 metros | 427 metros |
caché antiguo | 6.07 | 2.74 | 3.96 | 119 metros | 427 metros |
Compresión XZ | 6.97 | 3.71 | 4.03 | 86 metros | 427 metros |
ajuste extremo | 5.67 | 2.74 | 4.14 | 39 metros | 115 metros |
Recorte extremo + compresión XZ | 6.96 | 3.75 | 4.14 | 29 metros | 115 metros |
Gracias por trabajar con nosotros en la optimización de las instantáneas de Gazebo, puede seguir los diferentes enlaces para leer las diferentes partes de esta serie de publicaciones de blog:
La Parte 1 de esta serie cubrirá los problemas que pueden enfrentar las instantáneas de ROS y las formas de medirlo.
La Parte 2 de esta serie mostrará las optimizaciones que ya existen en nuestro complemento Gazebo.
La Parte 3 de esta serie cubre la optimización de la seguridad, incluida la eliminación de archivos duplicados e innecesarios.
La Parte 4 de esta serie cubre la optimización de caché de biblioteca dinámica.
La Parte 5 de esta serie cubre la compresión alternativa y las optimizaciones arriesgadas pero efectivas.
Si tiene comentarios, preguntas o ideas sobre la optimización instantánea de ROS, únase nuestro foro Háganos saber lo que piensas.Además, mira documentación rápida Si desea obtener más información sobre Snap aplicación de robot.