Computer science 检查10个整数是否已从上一个周期更改的最快方法

Computer science 检查10个整数是否已从上一个周期更改的最快方法,computer-science,plc,Computer Science,Plc,这是一个PLC程序,因此值可以在不知情的情况下更改。有人能想出一个哈希算法来检查自上一个周期以来是否有5到10个整数发生了变化。我需要尽可能快地执行此操作。为什么不将它们与前一组值的副本进行检查 简单地检查所有10个是线性的、小的和恒定的。散列函数不太可能更快(您无法避免读取值,这几乎是进行比较所需的全部工作),即使是这样,使用相同的散列代码也不会告诉您值没有更改,因此有时您仍然需要比较所有10个值 如果偶尔得到错误的答案是可以的,那么您可以对哈希代码的所有十个值(假定为中等大小的二进制整数)进

这是一个PLC程序,因此值可以在不知情的情况下更改。有人能想出一个哈希算法来检查自上一个周期以来是否有5到10个整数发生了变化。我需要尽可能快地执行此操作。

为什么不将它们与前一组值的副本进行检查

简单地检查所有10个是线性的、小的和恒定的。散列函数不太可能更快(您无法避免读取值,这几乎是进行比较所需的全部工作),即使是这样,使用相同的散列代码也不会告诉您值没有更改,因此有时您仍然需要比较所有10个值


如果偶尔得到错误的答案是可以的,那么您可以对哈希代码的所有十个值(假定为中等大小的二进制整数)进行异或运算,并进行检查。这样可以避免读取旧/新值,从而将读取计数减半。考虑到PLC正在做的所有其他工作,我怀疑这种节省是否不是纳米级的。

这就是我认为需要它快速运行的原因。因为一个设计常数。谢谢though@mrebus当前位置现代计算机的一个内核在一毫秒内有数百万个周期。如果整数在一级缓存中,这将花费不到0.0001毫秒的时间。@Charles我需要它来编写PLC程序。PLC程序运行需要10-100毫秒(是的,这很糟糕,但我没有写)。我需要比主循环运行更频繁的快速检查。因为我需要对一小段代码进行更快的计时。@mrebus:在PLC上有比相等更快的操作吗?@Charles没有,我用相等。这是一个问题,因为我正试图为我将要概括的ReportByException通信模块构建它。