DiscoverPython en españolPython en español #12: Tertulia 2020-12-22
Python en español #12: Tertulia 2020-12-22

Python en español #12: Tertulia 2020-12-22

Update: 2021-04-28
Share

Description

Ciclos de memoria, "core developers" y dataclasses https://podcast.jcea.es/python/12

En lo que sigue, cuando se habla de CPython, se refiere al
intérprete de referencia de Python, que está escrito en lenguaje
C: https://www.python.org/downloads/
.


Participantes:



Audio editado por Pablo Gómez, twitter:
@julebek.


La música de la entrada y la salida es "Lightning Bugs", de Jason
Shaw. Publicada en https://audionautix.com/ con licencia
- Creative Commons Attribution 4.0 International
License
.




  • <timestamp compact="1" offset="52" ts="52">[00:52 ]<topic> Seguimos hablando del bug comentado la semana pasada.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="137">[02:17 ]<topic> El "bytecode" https://es.wikipedia.org/wiki/Bytecode
    que genera Python es muy mejorable.</topic></timestamp>


        >>> import dis
    >>> def suma(valores):
    ... s=0
    ... for i in valores:
    ... s+=i
    ... return s
    ...
    >>> dis.dis(suma)
    2 0 LOAD_CONST 1 (0)
    2 STORE_FAST 1 (s)

    3 4 LOAD_FAST 0 (valores)
    6 GET_ITER
    >> 8 FOR_ITER 12 (to 22)
    10 STORE_FAST 2 (i)

    4 12 LOAD_FAST 1 (s)
    14 LOAD_FAST 2 (i)
    16 INPLACE_ADD
    18 STORE_FAST 1 (s)
    20 JUMP_ABSOLUTE 8

    5 >> 22 LOAD_FAST 1 (s)
    24 RETURN_VALUE




  • <timestamp compact="1" offset="52" ts="512">[08:32 ]<topic> Recogida de basuras.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="687">[11:27 ]<topic> Herramientas de monitorización:</topic></timestamp>



    • DTrace: http://dtrace.org/blogs/. Monitoriza el sistema
      operativo entero, incluyendo las aplicaciones, todo
      integrado, de forma segura y sin modificar el software.




  • <timestamp compact="1" offset="52" ts="812">[13:32 ]<topic> Funcionalidades de auditoría de Python:</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="1007">[16:47 ]<topic> Más herramientas de monitorización:</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="1072">[17:52 ]<topic> Más sobre DTrace
    https://es.wikipedia.org/wiki/DTrace_(Sun_Microsystems) y Python:</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="1332">[22:12 ]<topic> Tracemalloc.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="1382">[23:02 ]<topic> Seguimos hablando del bug comentado la semana pasada.</topic></timestamp>




    • bug bpo35930: "Raising an exception raised in a "future"
      instance will create reference cycles":
      https://bugs.python.org/issue35930.




    • ¡Se ofrece una caja de cervezas!




    • Brainstorming.




    • Diagnóstico detallado.




    • weakref — Weak references:
      https://docs.python.org/3/library/weakref.html.




    • Se sube la apuesta a caja y media de cervezas :-).




    • La excepción salta en un hilo y se "transporta" y almacena
      para que se pueda acceder desde otro hilo.




    • Test reproducible.






  • <timestamp compact="1" offset="52" ts="2202">[36:42 ]<topic> Aviso legal.</topic></timestamp>



    • Machine learning para identificar los diferentes hablantes.




  • <timestamp compact="1" offset="52" ts="2307">[38:27 ]<topic> Las futuras notas de las grabaciones serán EXHAUSTIVAS
    (como estáis comprobando leyendo esto :).</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="2357">[39:17 ]<topic> Ideas para "cebar" las tertulias.</topic></timestamp>



    • Muchos temas recurrentes, se ve que hay temas "flotando"
      en el aire.




  • <timestamp compact="1" offset="52" ts="2437">[40:37 ]<topic> Cómo organizar las tertulias, diferentes intereses y
    profundidad. Dinámica de la tertulia.</topic></timestamp>




  • <timestamp compact="1" offset="52" ts="2552">[42:32 ]<topic> ¿Cómo se organizan los "core developers"?</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="3142">[52:22 ]<topic> ¡Víctor quiere más bugs para aprender!</topic></timestamp>



    • Bugs marcados como "easy", como forma de entrada a
      desarrolladores nuevos.




  • <timestamp compact="1" offset="52" ts="3222">[53:42 ]<topic> ¿Qué partes de CPython están escritas en C y cuáles en
    Python?</topic></timestamp>




    • Se escribe en C lo que no tiene más remedio, por rendimiento
      o porque interactúa con el sistema operativo.




    • Más adelante de la conversación Jesús Cea explica cómo ver
      si un módulo concreto está en C o en Python sin tener que ir
      al código fuente.






  • <timestamp compact="1" offset="52" ts="3452">[57:32 ]<topic> PyPy https://www.pypy.org/. Intérprete de Python
    escrito en Python.</topic></timestamp>





  • <timestamp compact="1" offset="52" ts="3507">[58:27 ]<topic> ¿Incluir otros lenguajes en la implementación de
    CPython?</topic></timestamp>


00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Python en español #12: Tertulia 2020-12-22

Python en español #12: Tertulia 2020-12-22

jcea@jcea.es (Jesus Cea)