在数据结构中读取和在放弃之前访问字段之间有很大的速度差异吗?
我正在为工具之间的数据接口设计一个TLV类型的接口.
该工具输出结构,这些结构可以是服务1或服务2,也可以是打开或关闭。我登陆的接口是Type | Length | data_structure
现在,一些接收这些TLVs的工具只关心正在打开的东西,并且可以忽略它们。有些工具只关心服务1并且正在打开的东西。
我决定把它作为类型字段的一部分。data_structure在它们中包含一个字段,确定它们是服务1还是服务2。
我的问题是,我应该将服务1/2也编码到type字段中,还是只在data_structure中编码?
基本上我可以有类型
或
G 220
我的想法是,在type字段中拥有服务1/2将使不关心服务2的工具的接口更快。它们可以读取类型,然后将文件指针移动到下一个TLV,而不是将结构读入内存,访问服务类型,然后丢弃。这条推理准确吗?
发布于 2022-05-06 01:27:08
绝对建议您将类型和数据分开。它是一种“协议”,格式为“类型”、“长度”、“数据结构”。无论如何,任何时候都不要违反你的规则。
顺便说一句,通过使用数据指针,您不需要复制数据,如果数据拥有性的话。这样可以节省处理时间。
https://stackoverflow.com/questions/72135028
复制相似问题