Llenguatges de programació: l’equip de Python ofereix tres actualitzacions “maleïdes”.

La Python Software Foundation (PSF) ha llançat tres noves versions del popular llenguatge de programació Python en el que ha estat un inici accidentat per al 2022, però els desenvolupadors de Core Python estan avançant en l’objectiu del creador de Python Guido van Rossum que la versió 3.11 sigui el doble de ràpida que el seu predecessor.

Les noves versions de la sèrie Python 3.10, 3.9 i la vista prèvia 3.11 han sortit avui i han arribat malgrat els nombrosos retards, inclosa una renovació del certificat de signatura de codi “més complexa del que s’esperava”. La versió 3.10.x és l’última sèrie de llançament de funcions de Python 3, mentre que 3.9.x és la sèrie heretada i Python 3.11.x és el futur.

“Els llançaments que esteu mirant estaven tots maleïts d’alguna manera. Quina manera de començar el 2022! A més del certificat, espera, Python 3.10.2 és una versió accelerada (voldreu actualitzar, llegiu a continuació!), Python 3.11.0a4 tenia gairebé 20 (sic, vint!) bloquejadors de llançament abans de ser finalment verd, i Python 3.9.10 es va fer a partir d’un nou Mac M1 a macOS Monterey, cosa que va fer que el procés habitualment avorrit fos tot un passeig”, va dir l’equip de llançament.

EES: La bretxa de competències en TI està empitjorant. Aquí teniu 10 maneres d’evitar una crisi

Cap de les noves versions de Python (3.10.2, 3.9.1 i 3.11.0a4) conté instal·ladors de Windows a causa d’un problema de renovació del certificat. Malgrat aquest buit evident, l’equip de desenvolupament de Core Python (CPython) va decidir llançar les noves versions a causa d’un greu problema de fuites de memòria que afectava 3.10 i anteriors que fa que 3.10.2 sigui “molt recomanable” per instal·lar-se.

“Hem celebrat els llançaments durant tota la setmana mentre la situació s’està resolent, però la urgència de 3.10.2 en particular ens va fer llançar sense els instal·ladors de Windows després de tot”, va explicar Lukasz Langa, desenvolupador i gestor de llançaments de CPython.

“Demanem disculpes per les molèsties i estem fent tot el possible per posar en marxa l’instal·lador de Windows el més aviat possible”.

CPython és la implementació de referència de Python en què es basen altres variants de Python.

“Els tres primers llançaments del 2022 van ser maleïts! El que sol ser un procés bastant mundà i en gran part automatitzat, va resultar ser tres boles corbes separades. Afortunadament, no els vam deixar que ens deixéssin fora”. va afegir Langa.

El desenvolupador de CPython, Ee Durbin, i Steve Dower, un expert de Windows empleat per Microsoft per a CPython, responsable dels instal·ladors de Windows, estan abordant el problema del certificat.

PSF espera que la renovació del certificat i el problema de l’instal·lador de Windows es solucionin aquesta setmana.

La fuga de memòria que afecta a Python 3.10 es va produir en determinades trucades de funcions quan els desenvolupadors utilitzen Cython, un superconjunt de Python amb un compilador que facilita escriure extensions en codi C que interactuen amb el codi Python. Cython ofereix un rendiment semblant a C més ràpid a l’execució de codi Python.

“La fuga de memòria va consistir en una petita quantitat constant de bytes en determinades trucades de funcions del codi Cython”, explica Langa. “Tot i que en la majoria dels casos això no es notava gaire, va ser molt impactant per a aplicacions de llarga durada i determinats patrons d’ús”.

El desenvolupador de CPython Pablo Galindo Salgado assenyala que la fuga de memòria afecta de manera bastant dràstica a Cython amb un informe d’error que implica que “cada trucada de funció que utilitza __Pyx_PyCFunction_FastCall està perdent memòria a la 3.10, que és bastant dolenta”. Els informes d’error indicaven que s’estava filtrant megabytes de memòria, per la qual cosa val la pena solucionar l’error amb urgència.

Els desenvolupadors de CPython van determinar que la filtració es troba a PyEval_EvalFrameEx, que Cython fa servir en lloc de Python, però només està present a Python 3.10 i anteriors, però no a Python 3.11 i posteriors.

La propera versió de manteniment de Python 3.10 serà la 3.10.3 i està programada per al llançament el 4 d’abril de 2022.

EES: Vols fer coses amb tecnologia? Necessitareu aquests nous aliats sorprenents

La versió 3.11.0a4 és la quarta de les set versions alfa previstes per a la prova. Els canvis clau per a 3.11 inclouen millores de velocitat descrites pel creador de Python Guido van Rossum a la conferència PyCon 2021. Ara emprat per Microsoft, van Rossum vol que Python 3.11 sigui el doble de ràpid que 3.10. El Faster CPython Project és la manera de Microsoft de retornar a la comunitat Python, que ha crescut amb la creixent popularitat de l’aprenentatge automàtic.

Els punts de referència de PyPerformance executats per The Faster CPython Project indiquen que CPython 3.11 és aproximadament un 19% més ràpid a la mitjana geomètrica que 3.10.0.

Altres millores clau inclouen:

  • PEP 657: inclou ubicacions d’error detallades a Tracebacks
  • PEP 654 – Grups d’excepció i excepte

La versió 3.9.10 és la novena versió de manteniment de la sèrie 3.9 heretada. Python 3.9.10 conté 130 nous commits. Per a macOS, l’instal·lador predeterminat és un binari Universal 2 compatible amb Intel i el silici Arm d’Apple.

Leave a Comment

Your email address will not be published. Required fields are marked *