Odoo 12 vs Odoo 13 - Velocidad
¿Es realmente más rápido?
Si bien el ritmo vertiginoso de actualizaciones Odoo no es del agrado de la comunidad de desarrolladores en general, es importante destacar que las actualizaciones no vienen solas ni se tratan de un simple capricho Belga. Versión a versión el ecosistema general de Odoo mejora, se actualizan dependencias que además de traernos features nos traen optimizaciones de rendimiento. ¿Qué diferencias hay en el rendimiendo, la optimización y la velocidad entre un Odoo 12 y un Odoo 13? ¿Merece la pena migrar si necesito un sistema más ágil? ¿Es así como lo plantea la gente de Odoo o es mejor aguantarse un par de versiones antes de emprender la tarea de migrar? Eso vamos a intentar averiguar en este post, esperamos que sea de su agrado.
El Backend de Odoo
¿Qué dice Odoo?
El backend (el corazón de Odoo) es fundamental para el usuario medio, y es fundamental que sea rápido. Según la fuente oficial de Odoo, Odoo 13 permite crear Partners 7 veces más rápido que Odoo 12, es 11 veces más rápido para crear órdenes de ventas y 3 veces más rápido para hacer facturas. Estos datos han sido confirmados por diversas fuentes, aunque los números finales varían un poco ya que se toma como base un Odoo recién instalado sin ninguna personalización, algo muy lejos de una implementación real. Lo que si es verdad es que todos los nuevos usuarios de Odoo 13 afirman sentir una versión más ágil a la hora de realizar las tareas normales.
El ORM
El ORM ha cambiado completamente en Odoo 13. Los meses antes de su salida fuimos bombardeados con tweets mostrando la velocidad del ORM comparada de Odoo 12 con Odoo 13. Pero a los datos me remito: varios usuarios que han pasado sistemas de Odoo 12 a 13 han notado que tareas que en Odoo 12 podían tomar sus 2 o 3 minutos en Odoo 13 demoran tan solo un puñado de segundos. Y cuando digo un puñado de segundos me refiero a unos 20 o 30 segundos. Parece ser que, finalmente, la API de Odoo está optimizada a un nivel que presenta matices interesantes. Como opinión personal diré que sí, efectivamente, las peticiones mediante XMLRPC (especialmente las de escritura) son notablemente mas rápidas, lo que permitirá un mejor planteo de aplicaciones móviles a futuro.
Respecto a una prueba que realizamos, en Odoo 12 al cargar números de serie, luego de los 10000 aproximadamente el sistema comienza a ponerse tosco, y demora unos 30 segundos en crear un nuevo registro. Misma situación en Odoo 13 estamos hablando de fracciones de segundo, es verdaderamente un gran alivio a la hora de manera grandes cantidades de datos.
Conclusiones sobre el Backend de Odoo 13
Si es el primer Odoo a instalar (teniendo en cuenta que ya tenemos lista la localización argentina, y por lo que sabemos ya está en casi todos los paises de habla hispana) sugiero instalar un Odoo 13, por supuesto.
Si se trata de un Odoo sin grandes módulos personalizados, la verdad que la velocidad del backend lo vale mucho. Sugeriría dedicarse una o dos semanas a migrar a un Odoo 13.
Si es un Odoo 8, 9 (incluso consideraría un 10), es una buena oportunidad para invertir en una migración a Odoo 13.
Si es un Odoo menor al 8 desde ya que la migración debe ser tomada como algo urgente.
Si se trata de un Odoo -cualquiera sea la versión- que maneja una cantidad de datos masiva (muchos productos, una base de datos de clientes enorme y en aumento de manera diaria, generación de facturas todo el tiempo, etc) mi sugerencia es dedicarle el tiempo y los recursos a migrar a Odoo 13. Estoy convencido de que van a notar un alivio importante a las tareas diarias como buscar el nombre de un cliente o hacer una factura automática.
Si hablamos de un Odoo 11 o 12 con una personalización importante y con una base de datos controlable y que no está en expansión masiva, entonces no sugeriría invertir en un Odoo 13. En ese caso mejor invertir en desarrollo y apostar a una migración de una o dos versiones futuras.
El Website de Odoo
¿Qué dice LightHouse?
No me voy a centrar en todos los apartados de Lighthouse -ya que dependen de muchos factores y no solo de Odoo- pero si en el de Performance. Al parecer entre Odoo 12 y Odoo 13 la performance medida por LightHouse es de 31 y 47, respectivamente (estos valores varían dependiendo el server). La diferencia radica en lo que Google llama el First Meaningful Paint, es decir, el tiempo en que demora el servidor en mostrar el primer "frame" del website. En Odoo 13 el tiempo es un poco menor, aunque no tanto. El resto de los datos se mantienen en valores muy similares, dependiendo de la optimización de los recursos. La realidad es que, como dato de rendimiento, es muy pobre de todas formas. Sigue sin pasar el puntaje de 50. Al tratarse de LightHouse lo podemos dejar pasar ya que su uso está más destinado a WebApps, pero no deja de ser una observación a considerar.
¿Qué dicen los exámenes de PageSpeed?
En este caso sí tenemos una diferencia considerable, y es que en Odoo 13, por fin, el Javascript se carga de manera diferenciada. Así es, algo que se viene pidiendo desde Odoo 9 y que consistía, solamente, en agregar el atributo defer a las tag <script>. Solo eso. Es increíble que se tomaran tanto tiempo pero por fin los Websites van a tener el JavaScript diferenciado, lo cual no solo mejora el PageSpeed sino que también mejora el posicionamiento. Respecto al resto de las cosas, es muy poca la diferencia. El actualizar dependencias ayuda, pero tampoco mejora de manera considerable. El Website de Odoo sigue sin tener LazyLoading, sigue sin soportar WebP de forma nativa, etc.
Conclusiones sobre el Website de Odoo 13
Que puedo decir, sigo esperando esa versión de Odoo con un Website que no sea solo "ahora hay más Snippets" o "ahora tenemos Bootstrap 4". O un sistema donde se puedan actualizar las dependencias sin actualizar el Odoo, porque convegamos que pasar de jQuery 3.1 a jQuery 3.3 no es gran cosa (¿para qué siguen usando jQuery?). Sigo esperando una versión de Website de Odoo que utilice Angular, al menos en ciertos sectores. Pero no, esta no es esa versión, el Website es un poco (muy poco) más rápido, nada que no pueda obtenerse con un buen server. Si la razón de migrar es solamente por el Website, yo gastaría un par de dólares más en la Ram del Server y espero al próximo Odoo.
Conclusión General
Que puedo decir. El ORM es un gran avance, el Pagespeed es casi un estancamiento. Si utilizan solo el backend de Odoo entonces está claro que Odoo 13 es una gran opción. Pero si su backend actual les da lo que necesitan y estaban esperando obtener velocidad del lado del Website, en Odoo 13 no van a encontrarse con la misma "revolución" que hay del lado del Backend. En esta versión la balanza está despareja y la decisión final es dificil.
Acerca de:
Ignacio Buioli
Degree on Multimedia Arts. He has developed numerous Multimedia projects as well as written articles and translated texts of the mentioned subject. In Moldeo Interactive, He is a Partner and Programmer; also taking care of a large part of the online networks and courses.