我想通過zeromq發送大量數字,但將它們轉換爲str效率不高。什麼是通過zmq發送號碼的最佳方式?通過zeromq發送一個數字pyzmq
1
A
回答
2
另一個串行幽州數字轉換到str
是低效的。然而,除非你有一個真正奇特的網絡,否則無論選擇什麼解決方案,都必然會出現這種情況,因爲目前廣泛使用的所有網絡都是基於字節的。
當然,將數字轉換爲字節串的一些方法比其他方法更快。在C代碼中執行轉換可能會比在Python代碼中更快,但也要考慮排除「long」(bignum)整數是否可接受。如果排除它們是不可接受的,那麼str
函數可能會更好。
如果排除長整數是可接受的,則struct
和cpickle
模塊的性能可能會比str
好。
4
有幾個選項:
使用Python的struct.pack/struct.unpack方法例如struct.pack(! 「L」,1234567)
使用像msgpack
+0
msgpack的+1。它非常適合Python,因爲您可以像JSON對象一樣輕鬆地將字典轉換爲msgpaxk消息。它處理整數和漂浮相當有效。 – 2012-03-06 08:33:53
相關問題
- 1. 通過msgpack通過zeromq發送一個向量
- 2. Zeromq內存泄漏(pyzmq)
- 3. 通過ZeroMQ發送HTTP隊列
- 4. 發送NULL消息在PyZMQ
- 5. 通過Python中的ZeroMQ發送原始字節
- 6. ZeroMQ - 使用REQ套接字發送超過30個字節
- 7. 通過藍牙發送一個字節
- 8. ZeroMQ PubSub不能正常工作w \ Pyzmq
- 9. 通過Winsocks發送一個int數組
- 10. 通過推送通知發送超過256字節的數據
- 11. 如何通過.Net中的ZeroMQ發送關鍵消息?
- 12. ZeroMQ(PHP-ZMQ)通過發送傳遞對象
- 13. 通過一個servlet發送字節數,讓
- 14. 使用Java發送一個數組通過套接字
- 15. 通過數據報套接字發送一個對象java
- 16. ZeroMQ Pub發送空字符串
- 17. 通過回發發送兩個參數
- 18. 通過ZeroMQ接收對象爲字符串的正確方法是什麼,然後通過另一個套接字通過零拷貝發送它?
- 19. 通過套接字發送NULL數據
- 20. 通過UDP套接字發送數據
- 21. Android通過套接字發送數據
- 22. 通過套接字發送整數python
- 23. 通過Websockets發送字節數據(JavaScript)
- 24. 字節或Int?通過套接字發送哪一個更快?
- 25. 使用TCP發送ZeroMQ數據
- 26. C# - 發送一個文件通過HTTP
- 27. 通過url發送一個php變量
- 28. 通過python發送一個Html文件
- 29. 通過WCF發送一個Tuple對象?
- 30. 通過事件發送一個值
如果您正在處理如此多的消息,那麼Python將轉換int <-->字符串的速度很慢,您可能需要重新考慮您的確切體系結構/語言選擇。 – lunixbochs 2012-02-28 21:04:21
你發送什麼樣的數字(int/float,多大),消息中有多少個? – minrk 2012-02-28 21:18:01