BitConverterを使用したC#での高速キャスティングは、より速くすることができますか?
-
30-10-2019 - |
質問
アプリケーションでは、非常に大きなバイトアレイがあり、これらのバイトを異なるタイプに変換する必要があります。現在、使用しています BitConverter.ToXXXX()
この目的のために。私たちの重い打者は、 ToInt16
と ToUInt64
.
為に UInt64
, 、私たちの問題は、データストリームには実際に6バイトのデータがあり、大規模な整数を表すことです。 6バイトのデータをに変換するネイティブ機能がないため UInt64
, 、私たちはします:
UInt64 value = BitConverter.ToUInt64() & 0x0000ffffffffffff;
の使用 ToInt16
簡単ですが、少し操作する必要はありません。
私たちはこれら2つの操作の多くを行っているので、私はこれらの変換を行うためのより速い方法があるかどうかをSOコミュニティに尋ねたいと思いました。現在、CPUサイクル全体の約20%がこれらの2つの機能によって消費されています。
正しい解決策はありません
所属していません StackOverflow