这是一个PLC程序,因此价值可能会在不知情的情况下发生变化。可以有人想到一个哈希算法,它将检查自上一个周期以来5到10个整数是否已经改变。我需要尽可能快。
答案 0 :(得分:2)
为什么不检查上一组值的副本呢?
简单地检查所有10的努力是线性的,小的和恒定的。哈希函数不太可能更快(你无法避免读取值,这几乎是进行比较所需的全部工作),即使它是,具有相同的哈希码也不会告诉你值没有改变,所以仍然有时必须比较所有10个。
如果偶尔得到错误的答案是正确的,那么你可以将所有十个值(假设为适度大小的二进制整数)与一个哈希码进行异或,并检查它。这样可以避免读取旧/新值,将读数减半。鉴于PLC正在做的所有其他工作,我怀疑这种节省是否是除了纳米级之外的任何其他工作。