問題タブ [memcmp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - unsigned char を文字列に読み込む
符号なし文字の配列があります:
その配列から最初の N 個の unsigned chars を文字列に読み込みたいのですが、 をstrncpy()
参照すると、signed chars へのポインタしか取得できないようです。
私は見ているべきmemcpy()
ですか?
c# - Monoでバイト配列を比較するためのmemcmpに相当するものはありますか?
here で説明されているように、memcmp
から関数をインポートすることにより、.Net の 2 つのバイト配列を比較する効率がよく知られています。msvcrt.dll
モノに同等のライブラリインポートはありますか? LinuxまたはWindowsでモノを実行する場合、異なる必要がありますか? または、モノでうまく機能する別の高速なバイト配列比較手法はありますか? C# で配列を反復処理するよりも優れたものを探しています。
アップデート
Matt Patenaude のコメントに基づいて、これはうまくいくと思います。
しかし、私はまだ試していません。私は前に mono で p/invoke をしたことがありません。pinvoke.netで推奨されている署名を使用しています。これって両立するの?
モノに焦点を当てた答えを探しています。ありがとう。
c++ - なぜこれがmemcmpより遅いのですか
の2行を比較しようとしていますpixel
。
Aは、4つの値(RGBA)を含むpixel
ものとして定義されます。struct
float
私が使用していない理由memcmp
は、1番目の異なるピクセルの位置を返す必要があるためmemcmp
です。
私の最初の実装はSSE
組み込み関数を使用しており、以下よりも約30%遅くなりますmemcmp
。
次に、値をfloatではなく整数として扱うと、処理速度が少し速くなり、現在は。よりもわずか20%遅くなっていることがわかりましたmemcmp
。
他の質問で読んだことから、のMS実装memcmp
もを使用して実装されてSSE
います。私の質問は、MSの実装には、私が持っていない他のトリックがありますか?バイトごとの比較を行っても、それでもどのように高速ですか?
アラインメントは問題ですか?に4つの浮動小数点数が含まれている場合、pixel
ピクセルの配列はすでに16バイト境界に割り当てられていませんか?
/o2
とすべての最適化フラグをコンパイルしています。
c++ - memcmp に null ポインターを渡すことはできますか?
特に、以下は明確に定義されていますか、それとも未定義の動作を示していますか?
これは C と C++ で異なりますか? 理想的には、標準からの見積もりを提供してください。
c - memcmp と要素ごとの配列比較
どちらの実装が優れているか、またその理由は?
for ループまたは memcmp() 実装を使用した要素ごとの比較
また
c - C構造の内部一貫性
同一のメンバーを持つように初期化された 2 つの C 構造体がある場合、次のことを保証できますか?
は常にゼロを返しますか?
c - 更新前の比較 (memcpy の前の memcmp)、または単に更新する場合、どちらのパフォーマンスが優れていますか?
コンテキスト (重要ではありませんが)、netfilter モジュールでは、次のような構造体を使用します。
MAC アドレスと ipv6 アドレスを追跡します。
IPv6 アドレスの変更を処理する場合:
- 新旧の値(memcmp)を比較し、異なる場合は更新(memcpy)する必要があります。
- または、更新するだけです。
どちらも有効な動作であるため、ここではパフォーマンスが主な関心事です。
同様の質問が 1 つ見つかりました: https://jira.mongodb.org/browse/SERVER-66
彼らは「ただ更新する」方法を選択しているようです。