2
これはPLCプログラムであり、知識がなくても値が変更される可能性があります。前回のサイクルから5〜10の整数が変更されているかどうかをチェックするハッシュアルゴリズムを考える人がいますか?私はできるだけ早くこれが必要です。最後のサイクルから10個の整数が変更されたかどうかを確認する最も簡単な方法
これはPLCプログラムであり、知識がなくても値が変更される可能性があります。前回のサイクルから5〜10の整数が変更されているかどうかをチェックするハッシュアルゴリズムを考える人がいますか?私はできるだけ早くこれが必要です。最後のサイクルから10個の整数が変更されたかどうかを確認する最も簡単な方法
なぜ前の値のコピーに対してそれらをチェックしてみませんか?
すべての10を単純にチェックする作業は、線形で小さく、一定です。ハッシュ関数が高速になることはまずありません(値を読み取ることは避けられません。これは比較作業に必要なすべての作業です)。同じハッシュコードを使用しても、値は変更されていませんので、まだは10をすべて比較する必要があります。
答えが間違っている場合は、ハッシュコードの10個の値(適度なサイズの2進整数とみなされます)をすべてXORして確認するだけです。そうすれば、古い値/新しい値を読み取ることがなくなり、読み込み回数を半分に減らすことができます。 PLCが行っている他のすべての作業を考えると、この節約がナノスケール以外のものであるかどうかは疑問です。
それは私がミリ秒を速く動かすために必要と思ったものです。設計上の定数のためです。おかげで – mrebus
@mrebus:現代のコンピュータの単一のコアには、ミリ秒で何百万というサイクルがあります。整数がL1キャッシュ内にある場合、これは0.0001ミリ秒未満で済む。 – Charles
@Charles私は執筆中のPLCプログラムに必要です。 PLCプログラムは10〜100ミリ秒かかる(ええ、それは私がそれを書きませんでした)。メインループが実行されるよりも頻繁に確認できるものが必要です。小さなコードでより速いタイミングを必要とするためです。 – mrebus