有哪些技术可用于通过网络高效发送大量整数?
我有100k - 1M(已排序)整数,我需要序列化并通过网络发送它。
我能想到的一个简单技术是在base36中对它们进行编码,从而减小尺寸。
答案 0 :(得分:1)
如果列表很大,您可以在序列化数字上应用zip来减小大小。 Base36确实可能会减小尺寸。
进一步优化需要对数字进行一些信息和假设。
例如,当数字被排序时,您可以发送第一个“完整”数字,其余数字与前一个“完整”之间的差异。
如果可以保证2个邻居之间的差异小于32位数(Integer.MAX_VALUE),则可以在64位空间放置2个数字:delta1 + (delta2 << 64)
。
但如上所述,所有其他优化都依赖于有关数字的信息。