【发布时间】:2023-04-08 06:16:01
【问题描述】:
假设我想通过网络向我的客户发送号码 1, 如果我使用字符串而不是 32 位整数会更好吗?
由于我只有 1 个要发送的字符,这意味着如果我要使用字符串,我将通过网络发送 1 个字节,对吗?
如果我为此使用 32 位整数,这意味着我正在通过网络发送 4 个字节的数据,对吗?
如有错误请指正
【问题讨论】:
-
如果您的号码始终适合 1 个字符,为什么不将其作为字节发送?
-
对不起,我要发送的数据并不总是 1 个字符
-
在这种情况下,二进制通常比字符串更紧凑来表示整数(只要它们有超过 4 个数字)
-
我不禁认为这是一个微优化。通过网络发送 any 字节(无论是 1 还是 4)的开销和延迟是巨大的。我能想象到的唯一有用的场景是,如果您谈论的是一次存储或传输数百万或更多这样的数字。
-
我现在正在写一个游戏服务器,它可以同时承载数千个客户端,我想尽可能地压缩性能,这个优化真的那么微不足道吗?
标签: c# string sockets networking integer