Synapse est codé en python. Python ne peut pas utiliser plus d’un thread en parallèle. Si il reçoit beaucoup d’événements au même moment il doit donc multiplexer le traitement de ces requêtes sur le même cœur de calcul. C’est un peu dommage parce que le serveur dispose de plusieurs cœurs de calcul au niveau matériel. Il pourrait donc être intéressant d’utiliser des workers, qui auraient ainsi chacun leur propre processus, et pourraient donc exécuter du code en parallèle.
Une configuration assez classique de Synapse pour les moyennes instances est d’ajouter un worker dédié à la fédération (les communications de serveur à serveur) et de garder le processus principal pour la communication entre les clients et le serveur.