我正在编写一个程序,我需要向服务器发送大量小块数据(主要是整数或字符串),所以我使用的是struct-library。
现在我正在使用struct.pack
,但我想知道我是否应该使用struct.pack_into
,因为我读到它可以减少开销。
但是,我对“保存”值不感兴趣 - 我只想打包数据并快速发送。如果我使用struct.pack_into
,它会以任何方式保存值,因为它使用缓冲区,从而降低性能?
这两种方法中哪一种最适合我的需要?
谢谢,
答案 0 :(得分:2)
这些方法之间的区别实际上围绕着您是否已经有一个现有缓冲区,您希望将格式化数据写入(struct.pack_into
),或者您是否只想创建一个 new 缓冲区,带有格式化数据(struct.pack
)。
您正在处理小缓冲区。除非你有充分的理由怀疑你需要优化缓冲区副本,否则你也可以使用struct.pack