上下文(尽管不是很重要),一个网络过滤模块中,我们使用结构,如:比较之前更新(memcpy之前的memcmp),或者只是更新,哪个性能更好?
struct data {
char mac[ETH_ALEN];
char in6_addr addr;
};
跟踪MAC地址和IPv6地址。
用于处理IPv6地址的变化:
- 我应该比较新老值(memcmp),如果不同,则更新(memcpy的)。
- 或者,我只是更新它。
两者都是有效的行为,所以表现是这里的主要关注点。
我发现了一个类似的问题:https://jira.mongodb.org/browse/SERVER-66
他们似乎选择了“只更新”的方式。
发生这种情况的频率如何?它会对整体运行时间产生显着影响吗? –
我们检查每个正在转发的数据包,以反映可能的地址更改,因此经常发生。 –