有两个以char数组形式存在的位图数组,包含数百万条记录。使用C语言比较它们的最快方法是什么?
我可以想象使用按位运算符在for循环中每次异或1字节。
关于位图的重要点:
1%到10%的时间,算法运行时位图可能会有所不同。大多数情况下它们将是相同的。当它们不同时,它们可以相差100%。连续串中的位可能会发生变化。
两个位图的长度相同。
目标:
检查它们是否不同,如果是,则确定它们的不同之处。
每次都正确(如果有错误,则检测错误的概率应为1)。
我可以想象使用按位运算符在for循环中每次异或1字节。
关于位图的重要点:
1%到10%的时间,算法运行时位图可能会有所不同。大多数情况下它们将是相同的。当它们不同时,它们可以相差100%。连续串中的位可能会发生变化。
两个位图的长度相同。
目标:
检查它们是否不同,如果是,则确定它们的不同之处。
每次都正确(如果有错误,则检测错误的概率应为1)。
memcmp
已经针对你的处理器做了优化。 - Mark Ransom