Lanzamiento de Python 3.13 - Nueva mejora del GIL

2025.12.08

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