1

我想通过 zeromq 发送大量数字,但将它们转换为 str 效率低下。通过 zmq 发送号码的最佳方式是什么?

4

2 回答 2

4

几个选项:

  • 使用 python 的 struct.pack / struct.unpack 方法,例如 struct.pack("!L", 1234567)

  • 使用另一个序列化程序,如msgpack

于 2012-02-28T21:30:09.970 回答
3

您说将数字转换str为效率低下。然而,除非你有一个真正奇特的网络,否则无论选择什么解决方案,这都是必须发生的,因为今天广泛使用的所有网络都是基于字节的。

当然,将数字转换为字节字符串的某些方法比其他方法更快。在 C 代码中执行转换可能比在 Python 代码中更快,但还要考虑排除“长”(bignum)整数是否可以接受。如果排除它们是不可接受的,则该str功能可能会尽可能好。

与排除长整数的情况相比,structandcpickle模块的性能可能会更好。str

于 2012-02-28T23:03:10.293 回答