[Butia-devel-list] El futuro de PyBot, Python 3

Guillermo Rodriguez guillermor en fing.edu.uy
Jue Mayo 14 10:57:59 -03 2020


Buenas!

Sí me sorprendió lo mínima que fue jeje, igual por curiosidad voy a probar en una XO.

Siguiendo con la discusión sobre el futuro de pybot, mi idea de hacer bindings viene de que butiac en el backend es muy similar a pybot, por tanto en vez de reescribir todo el backend de pybot a Python 3 podemos usar herramientas como SWIG para auto-generar la mayoría del código y luego retoques y extensiones nuevas de la API a mano.

La otra opción es escribir todo de 0 en Python 3, que sí hay que hacerlo se hace pero estaría bueno llegar a una definitiva para ponerme manos a la obra.

Salud.

> On 14 May 2020, at 10:27, Alan Jhonn Aguiar Schwyn <alanjas at hotmail.com> wrote:
> 
> Buenas,
> 
> La diferencia es 1x10^-4 segundos, incluso menor en algunos casos.
> Estamos hablando de menos de 1 milésima de segundo. Para mi no es una diferencia significativa.
> 
> Saludos
> 
> Alan
> 
> De: butia-devel-l-bounces at fing.edu.uy <butia-devel-l-bounces at fing.edu.uy> en nombre de Guillermo Rodriguez <guillermor at fing.edu.uy>
> Enviado: miércoles, 13 de mayo de 2020 13:08
> Para: butia-devel-l at fing.edu.uy <butia-devel-l at fing.edu.uy>
> Asunto: Re: [Butia-devel-list] El futuro de PyBot, Python 3
>  
> Buenas de vuelta!
> 
> Me demore un poco jeje pero tengo los resultados.
> 
> El benchmark es el siguiente: obtener x lecturas del sensor de distancia conectado en el puerto 1.
> 
> Link a fuentes usadas:
> https://gist.github.com/guilledk/82f652a3990da96ba0aa34c298520ae3
> 
> Maquina:
> OS X
> 3,1 GHz Dual-Core Intel Core i5
> 8 GB 2133 MHz LPDDR3
> Thunderbolt 3
> 
> PyBot Runtime:
> Python 2.7.16 - GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4)
> 
> ButiaC Compiler:
> Apple clang version 11.0.0 (clang-1100.0.33.8)
> 
> Compile command: “clang -g -Os $(pkg-config --libs --cflags libusb-1.0) -Isrc/include src/*.c test.c "
> 
> 1000 lecturas:
> 
> butiac: 0.000334 seg
> pybot:  0.000425 seg
> 
> 10000 lecturas:
> 
> butiac: 0.000234 seg
> pybot:  0.000365 seg
> 
> 20000 lecturas:
> 
> butiac: 0.000324 seg
> pybot: 0.000362 seg
> 
> 50000 lecturas:
> 
> butiac: 0.000238 seg
> pybot:  0.000278 seg
> 
> Se nota una diferencia de rendimiento mínima, pero existe. Antes de terminar con estas pruebas voy a repetirlas pero en una maquinas ceibal (XO, Magallanes, positivo), ya que sospecho que ahí se va a notar más la diferencia.
> 
> 
> > On 2 May 2020, at 19:35, Guillermo Rodriguez <guillermor at fing.edu.uy> wrote:
> > 
> > Pruebo en estos días y paso los resultados, pero viendo todos los context switch que hace pybot para llegar desde getDistance hasta el read write de Device.py, los resultados van a ser parecidos, en butia-c hay solo un function call de por medio, la prueba seria casi idéntica.
> > 
> > _______________________________________________
> > Butia-devel-l site list
> > Butia-devel-l at fing.edu.uy
> > https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
> 
> _______________________________________________
> Butia-devel-l site list
> Butia-devel-l at fing.edu.uy
> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
> _______________________________________________
> Butia-devel-l site list
> Butia-devel-l at fing.edu.uy
> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l



Más información sobre la lista de distribución Butia-devel-l