Batching
Regroupez les items pour saturer votre GPU ou votre BDD
`.batch(n)` accumule `n` items avant de les émettre en liste. `.temporal_batch(s)` regroupe tout ce qui arrive pendant `s` secondes — parfait pour les flux temps-réel (audio, capteurs, WebSocket).
python
from olympipe import Pipeline
import time
# Batch fixe : regrouper 64 items avant traitement
results = (
Pipeline(image_paths) # 10 000 images
.task(load_image, count=4) # chargement parallèle
.batch(64) # groupe en batches
.task(model.predict) # inférence GPU
.wait_for_result()
)
# Batch temporel : fenêtre glissante de 500ms
results = (
Pipeline(sensor_stream)
.task(parse_frame)
.temporal_batch(0.5) # tout ce qui arrive en 500ms
.task(aggregate)
.wait_for_result()
)⚡ Performance
10 000 images, inférence GPU
Sans batch 50.0s
batch=16 12.0s
batch=64 3.2s
batch=128 2.1s
🚀 23.8× plus rapide
Comment ça fonctionne
Sans batch, chaque item déclenche un aller-retour GPU séparé. Avec un batch de 64, un seul appel traite 64 images — la latence GPU fixe est amortie sur 64 fois plus de travail.
