Skip to main content
Les deux méthodes suivantes doivent être utilisées ensemble pour améliorer les performances lors de l’exécution d’évaluations sur de grands jeux de données.

Vidage

Lorsque vous exécutez des évaluations sur de grands jeux de données, il peut s’écouler un long délai avant que le programme ne se termine, pendant que le jeu de données est téléversé dans des threads d’arrière-plan. Cela se produit généralement lorsque l’exécution du thread principal se termine avant la fin du nettoyage en arrière-plan. L’appel à client.flush() force le traitement de toutes les tâches d’arrière-plan dans le thread principal, ce qui garantit leur traitement en parallèle pendant l’exécution du thread principal. Cela peut améliorer les performances lorsque votre code se termine avant que les données n’aient été téléversées vers le serveur. Exemple :
client = weave.init("fast-upload")

# ... configuration de l'évaluation
result = evaluation.Evaluate(dataset_id="my_dataset_id")

client.flush()

Augmenter le parallélisme du client

Le parallélisme du client est automatiquement déterminé en fonction de l’environnement, mais vous pouvez le définir manuellement à l’aide de la variable d’environnement suivante :
  • WEAVE_CLIENT_PARALLELISM : nombre de threads disponibles pour le traitement parallèle. Augmenter cette valeur accroît le nombre de threads disponibles pour le traitement parallèle, ce qui peut améliorer les performances des tâches en arrière-plan, comme le téléversement de jeux de données.
Vous pouvez également le définir par programmation à l’aide de l’argument settings de weave.init() :
client = weave.init("fast-upload", settings={"client_parallelism": 100})

Performances Évaluation