Resumen de Python 3.13
Python 3.13 fue lanzado en octubre de 2024 e introduce muchas características nuevas, incluyendo un modo free-threaded experimental (modo sin GIL), una shell interactiva mejorada y un compilador JIT.
Qué es el GIL (Global Interpreter Lock)
El GIL es un mecanismo de bloqueo que impide que el intérprete de Python ejecute más de un hilo a la vez. Debido a esto, incluso en programas multihilo, el procesamiento limitado por CPU no se ejecuta en paralelo.
Por qué existe el GIL: Para simplificar la gestión de memoria de CPython y mantener la compatibilidad con módulos de extensión C.
Modo Free-threaded (experimental)
Python 3.13 proporciona experimentalmente una compilación “free-threaded” con el GIL deshabilitado.
Método de instalación
# Instalar la compilación dedicada (ejemplo: Ubuntu)
# Obtener la versión free-threaded de los binarios oficiales
# Verificar versión
python3.13t --version
Características del modo free-threaded
- Posibilita verdadera ejecución paralela multihilo
- Los hilos funcionan efectivamente para procesamiento limitado por CPU
- Algunos módulos de extensión C no son compatibles
- El rendimiento de un solo hilo disminuye ligeramente
Shell interactiva mejorada
El REPL de Python 3.13 ha sido significativamente mejorado:
- Soporte para edición multilínea
- Resaltado de sintaxis
- Mejores mensajes de error
- Navegación del historial por bloques
Compilador JIT experimental
Se ha introducido experimentalmente un compilador JIT basado en copy-and-patch. Se esperan mejoras de rendimiento para cargas de trabajo específicas.
# Ejecutar con JIT habilitado (experimental)
PYTHON_JIT=1 python3.13 script.py
Otras mejoras
Mejoras en type hints
# Soporte de valores por defecto en TypedDict
from typing import TypedDict, Required, NotRequired
class User(TypedDict):
name: Required[str]
age: NotRequired[int] # Opcional
Mejoras en mensajes de error
Se facilita la depuración con sugerencias de nombres de variables similares en caso de NameError.
Resumen
Python 3.13 comienza a proporcionar una solución experimental al problema del GIL que ha existido durante años. Aunque el modo free-threaded todavía es experimental, es un lanzamiento importante que indica la dirección futura de Python.
← Volver a la lista