2011-09-16 9 views

答えて

2

なぜ前の値のコピーに対してそれらをチェックしてみませんか?

すべての10を単純にチェックする作業は、線形で小さく、一定です。ハッシュ関数が高速になることはまずありません(値を読み取ることは避けられません。これは比較作業に必要なすべての作業です)。同じハッシュコードを使用しても、値は変更されていませんので、まだは10をすべて比較する必要があります。

答えが間違っている場合は、ハッシュコードの10個の値(適度なサイズの2進整数とみなされます)をすべてXORして確認するだけです。そうすれば、古い値/新しい値を読み取ることがなくなり、読み込み回数を半分に減らすことができます。 PLCが行っている他のすべての作業を考えると、この節約がナノスケール以外のものであるかどうかは疑問です。

+0

それは私がミリ秒を速く動かすために必要と思ったものです。設計上の定数のためです。おかげで – mrebus

+0

@mrebus:現代のコンピュータの単一のコアには、ミリ秒で何百万というサイクルがあります。整数がL1キャッシュ内にある場合、これは0.0001ミリ秒未満で済む。 – Charles

+0

@Charles私は執筆中のPLCプログラムに必要です。 PLCプログラムは10〜100ミリ秒かかる(ええ、それは私がそれを書きませんでした)。メインループが実行されるよりも頻繁に確認できるものが必要です。小さなコードでより速いタイミングを必要とするためです。 – mrebus

関連する問題