Je veux envoyer beaucoup de nombres via zeromq mais les convertir en str est inefficace. Quel est le meilleur moyen d'envoyer des numéros via zmq?envoyer un numéro par zeromq pyzmq
Répondre
Vous dites que la conversion des numéros à str
est inefficace. Et pourtant, à moins d'avoir un réseau vraiment exotique, c'est exactement ce qui doit se produire quelle que soit la solution choisie, car tous les réseaux largement utilisés aujourd'hui sont basés sur des octets.
Bien sûr, certaines méthodes de conversion de nombres en chaînes d'octets sont plus rapides que d'autres. L'exécution de la conversion en code C sera probablement plus rapide qu'en code Python, mais considérez aussi s'il est acceptable d'exclure les entiers "longs" (bignum). Si les exclure n'est pas acceptable, la fonction str
peut être aussi bonne que possible.
Les modules struct
et cpickle
peuvent fonctionner mieux que str
si l'exclusion de nombres entiers longs est acceptable.
Quelques possibilités:
utilisation des méthodes struct.pack/python de struct.unpack par exemple struct.pack ("! L", 1234567)
utiliser une autre sérialiseur comme msgpack
+1 pour msgpack. C'est un ajustement idéal pour Python parce que vous pouvez transformer un dict en un message msgpaxk aussi facilement qu'un objet JSON. Et il gère les entiers et les flotteurs de manière très efficace. –
- 1. Fuite de mémoire Zeromq (pyzmq)
- 2. Comment puis-je définir l'emplacement des fichiers d'échange ZeroMQ pour pyzmq?
- 3. Ipython notebook pyzmq error
- 4. Limitation de la longueur de la file d'attente avec PyZMQ
- 5. Erreurs de "easy_install zeromq"?
- 6. Erreur d'importation pyzmq sur Poll.pyd
- 7. Capacités ZeroMQ
- 8. Envoyer un message à Numéro spécifique (Whatsapp)
- 9. ZeroMQ PHP Timeout
- 10. Comment créer un socket "unique" dans zeromq?
- 11. Modèle de pipeline ZeroMQ
- 12. zeromq/AMQP enfichable?
- 13. Puis-je envoyer un numéro de téléphone entré par l'utilisateur à un serveur sur iPhone?
- 14. ZeroMQ: réponses asynchrones
- 15. Liaison zeromq et C#
- 16. envoyer un message vocal à un autre numéro de téléphone
- 17. ZeroMQ PUSH/PULL et message perdu
- 18. ZeroMQ sur la base du système distribué
- 19. PubSubHubbub sur ZeroMQ
- 20. S'abonner Authentification avec ZeroMQ
- 21. MongoDB, ZeroMQ et C
- 22. Veuillez expliquer Zeromq eventloop
- 23. Envoyer un formulaire par ajax?
- 24. Envoyer un SMS par programme
- 25. Envoyer un SMS par l'application
- 26. envoyer un mail par System.Net.Mail
- 27. Envoyer un fichier par courriel
- 28. Qu'est-ce que ZeroMQ?
- 29. ZeroMQ: comment réaliser un multithreading de type C
- 30. Comment envoyer un numéro de téléphone entre les activités?
Si vous traitez tellement de messages qu'il est lent pour Python de convertir la chaîne <--> int, vous devrez peut-être repenser votre choix exact d'architecture/langue. – lunixbochs
Quel genre de nombres (int/float, quelle taille) envoyez-vous, combien dans un message, etc.? – minrk