【发布时间】:2011-01-11 12:26:59
【问题描述】:
我正在寻找性能有效的方法来比较两个 byte[] 是否相等。大小超过 1 MB,因此每个数组元素的开销应该最小化。
我的目标是通过avoiding the repetitive bound checks 这两个阵列的速度超过SequenceEqual 或hand-coded for-loop over every item。就像Array.Copy 可以导致快速memcpy 一样,什么会导致memcmp?
【问题讨论】:
-
您需要只比较两个块,还是一个块与多个块进行比较?也许如果你告诉我们更多关于你正在这样做的场景,甚至可以找到更好的解决方案?例如,如果您需要将一系列块与许多其他块进行比较,一个简单的哈希至少可以用最少的工作为您提供很多有保证的差异,然后您可以专注于潜在的误报。
标签: c# performance arrays comparison byte