<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Buenas,</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
PyBot usa PyUSB que a bajo nivel usa libusb que es C y por eso es tan eficiente. Es solo un &quot;pasamanos&quot;, no hay código extra que genere delays en la comunicación.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Con el tema de Python 3:</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
No sé actualmente como vienen las nuevas Positivo de Ceibal, que versión de Ubuntu traen. Acaba de salir el 20.04 pero ellos tenían la 16 algo.&nbsp;</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">TurtleBlocks ya está portado a Python 3 y además a usar la interfaz de GTK 3 (por ahora seguimos usando la 2).&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">Mi
 idea era que cuando Ceibal empieze a usar Ubuntu 18.04 (creo que es la que empieza a traer gtk3 instalado), empezar a usar la otra rama de del repositorio de TurtleBlocks y migrar nuestro código.</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Por mientras, puedo hacer un branch en el repositorio de sourceforge &quot;python3&quot; y ahí cambiar el código actual a Python 3.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Lo bueno de la re escritura es que en general el código se vuelve mejor, pero lleva su tiempo. Quizás haya que meterle más tiempo al diseño. La imagen que adjunté hace un tiempo de como era la comunicación creo que sirve de idea. Si tuviera que reescribir el
 código sacaría algunas conversiones innecesarias que fueron hechas para mejorar la robustez en el caso de uso con cliente-servidor.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Saludos</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alan</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De:</b> butia-devel-l-bounces@fing.edu.uy &lt;butia-devel-l-bounces@fing.edu.uy&gt; en nombre de Guillermo Rodriguez &lt;guillermor@fing.edu.uy&gt;<br>
<b>Enviado:</b> jueves, 14 de mayo de 2020 10:57<br>
<b>Para:</b> butia-devel-l@fing.edu.uy &lt;butia-devel-l@fing.edu.uy&gt;<br>
<b>Asunto:</b> Re: [Butia-devel-list] El futuro de PyBot, Python 3</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">Buenas!<br>
<br>
Sí me sorprendió lo mínima que fue jeje, igual por curiosidad voy a probar en una XO.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Salud.<br>
<br>
&gt; On 14 May 2020, at 10:27, Alan Jhonn Aguiar Schwyn &lt;alanjas@hotmail.com&gt; wrote:<br>
&gt; <br>
&gt; Buenas,<br>
&gt; <br>
&gt; La diferencia es 1x10^-4 segundos, incluso menor en algunos casos.<br>
&gt; Estamos hablando de menos de 1 milésima de segundo. Para mi no es una diferencia significativa.<br>
&gt; <br>
&gt; Saludos<br>
&gt; <br>
&gt; Alan<br>
&gt; <br>
&gt; De: butia-devel-l-bounces@fing.edu.uy &lt;butia-devel-l-bounces@fing.edu.uy&gt; en nombre de Guillermo Rodriguez &lt;guillermor@fing.edu.uy&gt;<br>
&gt; Enviado: miércoles, 13 de mayo de 2020 13:08<br>
&gt; Para: butia-devel-l@fing.edu.uy &lt;butia-devel-l@fing.edu.uy&gt;<br>
&gt; Asunto: Re: [Butia-devel-list] El futuro de PyBot, Python 3<br>
&gt;&nbsp; <br>
&gt; Buenas de vuelta!<br>
&gt; <br>
&gt; Me demore un poco jeje pero tengo los resultados.<br>
&gt; <br>
&gt; El benchmark es el siguiente: obtener x lecturas del sensor de distancia conectado en el puerto 1.<br>
&gt; <br>
&gt; Link a fuentes usadas:<br>
&gt; <a href="https://gist.github.com/guilledk/82f652a3990da96ba0aa34c298520ae3">https://gist.github.com/guilledk/82f652a3990da96ba0aa34c298520ae3</a><br>
&gt; <br>
&gt; Maquina:<br>
&gt; OS X<br>
&gt; 3,1 GHz Dual-Core Intel Core i5<br>
&gt; 8 GB 2133 MHz LPDDR3<br>
&gt; Thunderbolt 3<br>
&gt; <br>
&gt; PyBot Runtime:<br>
&gt; Python 2.7.16 - GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4)<br>
&gt; <br>
&gt; ButiaC Compiler:<br>
&gt; Apple clang version 11.0.0 (clang-1100.0.33.8)<br>
&gt; <br>
&gt; Compile command: “clang -g -Os $(pkg-config --libs --cflags libusb-1.0) -Isrc/include src/*.c test.c &quot;<br>
&gt; <br>
&gt; 1000 lecturas:<br>
&gt; <br>
&gt; butiac: 0.000334 seg<br>
&gt; pybot:&nbsp; 0.000425 seg<br>
&gt; <br>
&gt; 10000 lecturas:<br>
&gt; <br>
&gt; butiac: 0.000234 seg<br>
&gt; pybot:&nbsp; 0.000365 seg<br>
&gt; <br>
&gt; 20000 lecturas:<br>
&gt; <br>
&gt; butiac: 0.000324 seg<br>
&gt; pybot: 0.000362 seg<br>
&gt; <br>
&gt; 50000 lecturas:<br>
&gt; <br>
&gt; butiac: 0.000238 seg<br>
&gt; pybot:&nbsp; 0.000278 seg<br>
&gt; <br>
&gt; 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.<br>
&gt; <br>
&gt; <br>
&gt; &gt; On 2 May 2020, at 19:35, Guillermo Rodriguez &lt;guillermor@fing.edu.uy&gt; wrote:<br>
&gt; &gt; <br>
&gt; &gt; 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.<br>
&gt; &gt; <br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Butia-devel-l site list<br>
&gt; &gt; Butia-devel-l@fing.edu.uy<br>
&gt; &gt; <a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; Butia-devel-l site list<br>
&gt; Butia-devel-l@fing.edu.uy<br>
&gt; <a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br>
&gt; _______________________________________________<br>
&gt; Butia-devel-l site list<br>
&gt; Butia-devel-l@fing.edu.uy<br>
&gt; <a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a><br>
<br>
_______________________________________________<br>
Butia-devel-l site list<br>
Butia-devel-l@fing.edu.uy<br>
<a href="https://www.fing.edu.uy/mailman/listinfo/butia-devel-l">https://www.fing.edu.uy/mailman/listinfo/butia-devel-l</a></div>
</span></font></div>
</div>
</body>
</html>