Vue d'ensemble

msgspec 0.7, publié le 20 juin 2022, accélère le décodage des chaînes JSON et optimise les allocations mémoire.

Fonctionnalités principales

Décodage JSON accéléré

Le décodage des chaînes JSON est optimisé avec un nouveau parseur SIMD, offrant des gains de 2 à 5x par rapport à la version précédente.

python
import msgspec

# Décodage rapide de grandes réponses JSON
class Item(msgspec.Struct):
    id: int
    name: str
    price: float

data = b'[{"id":1,"name":"A","price":9.99}]'
items = msgspec.json.decode(data, type=list[Item])
print(items[0].price)  # 9.99

Optimisation mémoire

Les allocations mémoire sont réduites lors du décodage, diminuant la pression sur le ramasse-miettes.

python
import msgspec

# Décodeur réutilisable pour réduire les allocations
dec = msgspec.json.Decoder(type=dict)

for line in open('data.jsonl', 'rb'):
    obj = dec.decode(line)
    # traitement...

Sources