私は128ビットの文字列を持っています。私の監督は私にこれらの128ビットを多項式として表現するように頼んでいます。パフォーマンスを向上させるためにビットの代わりに多項式を使用する方法?
彼のアイデアは、我々はこれらのビットから0を排除しているので、私たちはほとんどがある(次の操作を行うことができるようになり、あるXOR:これは、彼が上で書いていた紙のスキャンですビット/多項式の間で)すべてのビットを処理した場合よりもはるかに高速です。
私は要件が何であるかを理解しており、紙でもアプリケーションでも行うことができます。しかし、私のやり方では目標を達成することはできず、パフォーマンスが向上しています。彼は実際にこれを行うライブラリが既にあると言ったが、残念ながら私は何も見つけることができなかった。私が見つけた唯一の事は多項式を評価する多項式のクラスでした。多項式は私が望むものではありません。
あなたはパフォーマンスを向上させるためにこれを実装する方法を知っていますか?すべてのコード/スニペット/記事は非常に高く評価されています。
アプリケーションはJavaで記述されています。
おかげで、
モタ
更新:
私の上司は、このC libraryは、タスクを実行することを言います。私はそれがどのように機能し、どのようにこれを行うのかを理解することはできませんでした。
これは、暗号化ライブラリ、特にガロアフィールドで行われています。私はこれ以上具体的になることはできません。私はそれを見てからしばらくしています。 –
http://en.wikipedia.org/wiki/Finite_field_arithmetic –
問題は、ほとんどのマシンプロセスビットが非常に高速で、何か他のことをしようとすると(.e.g *、+、/)ビットを使用する必要があることです。多項式を使うことがすべての原因で速ければ、解決策をとることができます。それをビットに分割し、多項式に分解し、各反復でより速くします(代わりに、毎回遅くなると思われます)。速いが、私は何も考えることができない。 –