1

F#で非常に小さな.NETアプリを作成しようとしました。

小さな文字列を別の文字列に変換し、その結果を次のようにコンソールに出力するだけです。

convert.exemyString==>「myConvertedString」のようなものを出力します

dottraceを使用してパフォーマンスを分析しました。

  • 私の実際の文字列変換で26%(168ms)(これは問題ないと思います)
  • System.Security.SecurityManagerのResolvePolicyで65,80%(425ms)

すべての実行で500ミリ秒を超える実行時間は遅すぎます。これを改善するために何かできることはありますか?

今回は最初の呼び出しだけが必要な場合はOKです。

よろしく、フォーク

4

3 に答える 3

7

文字列ごとに個別のプロセスとしてこれを実行する必要がありますか?

多くの文字列を含むファイルの名前を渡していただけますか? これは、次の点で大幅に効率的になります。

  • プロセスの立ち上げにかかる時間
  • .NET のさまざまなビットをすべてロードするのにかかった時間
  • コードの JIT にかかる時間
  • セキュリティ ポリシーの解決にかかった時間
于 2010-03-17T11:08:47.573 に答える
1

caspol.exeを使用して、コード アクセス セキュリティ チェックをオフにすることができます。

于 2010-03-17T11:08:28.120 に答える
1

アセンブリのプリコンパイルを試みることができます。プログラム ngen を使用すると、.net アセンブリを既にマシン コードにコンパイルしてから、そのアセンブリをグローバル アセンブリ パスにインストールできます。アプリケーションの読み込み時間を短縮する必要があります

于 2010-03-17T11:33:23.150 に答える