は、私は全体のパフォーマンスを向上させるために自分のアプリケーションを分析していますし、別のボトルネックの中で私は、主要の1つの識別されていますパフォーマンスを低下させている領域は、_wordcopy_fwd_dest_aligned
命令/機能から来ているようです。長さと長さと値の形式で文字列を含む -
- 機能は、バッファストリームを取得 -
は、以下の問題の簡単な説明です。
- len(マシンアラインメントなどを確認するためのコード)を読んでください。
- 文字配列を読み取って文字列に割り当てます。 CPUサイクルを定量化レポートから確認されている今、
、
の下に、私はread_buf(max_len) v.assign((char*)pdata,max_len)
_wordcopy_fwd_dest_aligned
で重い使用率を見るよう
PusedoCode
pusedoコードが見えます。また、 - Improve CPU Cycles for performanceのような報告書から、私はその考え方を、代替アプローチを使用して減らすことができることを知っています。
質問
- /は、このように私に(でも、メモリのコストで)パフォーマンスを得る
_wordcopy_fwd_dest_aligned
使用を排除削減上記のコード、のための簡単な選択肢があります。 - 上記のコードがうまくいかない場合は、上記のコードに対して推奨される回避策はありますか?しかし、最終的なo/pは文字列自体にある必要があります。
PS:
。コードは分散環境で動作する必要があるため、単語の配置などを処理する必要がありますので、質問リストのオプション(2)については少し気にしないでください。
b。私たちはstlportライブラリを使用していますので、これには微調整が必要です/これが問題の原因になりますか? std::string v.assign(...)
という単純なコードは表示されませんでした_wordcopy_fwd_dest_aligned
。
どのようなアーキテクチャですか?どのCPUモデルですか?複数のCPUモデルで実行する必要がありますか? –