C#プログラムを高速化して、最初の実行ですばやく実行するにはどうすればよいですか?

ミランm

フォルダを入力として受け取り、その中の画像を処理するプログラムがあります。

初めてプログラムを実行すると、1秒間に約5枚の画像が処理されます。

2回目の実行では、1秒間に20枚の画像を処理します。

その後の実行では、1秒間に約50枚の画像を処理します。

これは間違いなくキャッシュと関係があることを理解しています。

私の質問は、最初の反復でプログラムをすばやく実行するにはどうすればよいですか?

クライアントはプログラムを1日1回だけ実行する必要があるため、これは私にとって非常に重要です。したがって、最初の実行では高速である必要があります。

アップデート1:これはWindowsベースのアプリケーションです。

ありがとう。

シナトル

ここでのボトルネックは、ディスク上のデータにアクセスする速度です。

実行する画像処理の種類によっては、(より優れた/より高速なライブラリまたは最適化を使用して)速度を上げることができます。これにより、連続する各実行で処理される画像の数が多くなります。

あなたが持っていた場合(画像/秒)

20、30、50、50、50

その後、

21、32、53、53、53

または

30、45、75、75、75

ロードと比較して処理にかかる時間によって異なります。プロファイラーまたは単純なメジャーのロード/処理時間を使用して、最大で何を獲得できるかをよりよく理解できます(理論的には処理時間がゼロに短縮されます)。


あなたが作ろうとしているなら

50、50、50、50、50

次に、画像をロードする時間が必要であり、この時間を費やす必要があるため、ソフトウェアでは不可能です。キャッシュを使用して何かを事前にキャッシュしようとしても、プログラムの合計実行時間は最初の実行で同じであり、2回目に実行した場合(キャッシュが既に発生している場合)はまだ残っているため、何も勝ちません。平均(合計実行時間/合計画像)

20、30、50、50、50

SSDを使用している場合でも、メモリ(Windowsディスクキャッシュ)の方が高速であるため、初回実行時の速度は遅くなります。それでもより高速なディスク(SSD RAID?= D)を使用すると、ロード速度が大幅に向上します(現在、通常のHDDを使用していると仮定します)が、処理時間は同じです。


プログラムをより速く実行したいのはなぜですか?おそらく、手動で実行する必要があるか、そうでなければユーザーがWindowsやその他のソフトウェアを使用できないようにする必要があるためですか?それでは、ユーザーの邪魔にならないように、この処理を非常に低速でバックグラウンドで行うのはどうでしょうか。Windowsと一緒に起動し、他のソフトウェアでIPCを使用して(またはその一部でさえ)、いつ/何を/どのように処理するかを決定できます。良い例として、ヒューリスティックがたくさんある(つまり処理時間が長い)非常に優れたアンチウイルスを取り上げます。すべてをスキャンするために毎日実行する必要はありません(時間がかかり、非常に集中的です)が、実行する場合バックグラウンドでは、スケジュールされた時間(PCの使用量が少ない場合)に毎週/毎月のスキャンで必要なジョブのみを実行するので、まったく問題ありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

forループの実行を高速化するにはどうすればよいですか?

分類Dev

/opt で AppImage やその他のプログラムを正しく実行するにはどうすればよいですか?

分類Dev

C#プログラムからghostscriptを実行するにはどうすればよいですか?

分類Dev

C#でWindowsによって実行されるプログラム(Windowsの起動時に実行)からユーザーによって実行されるプログラムを診断するにはどうすればよいですか?

分類Dev

Bazelを使用してJavaFXプログラムを実行するにはどうすればよいですか?

分類Dev

プログラムを高速化するにはどうすればよいですか?

分類Dev

cプログラムの実行時間を取得するにはどうすればよいですか?

分類Dev

SSDを使用してプログラムの起動を高速化するにはどうすればよいですか?

分類Dev

JavaScriptプログラムをより速く実行するにはどうすればよいですか?

分類Dev

Visual Studioを使用せずにc#プログラムをコンパイルして実行するにはどうすればよいですか?

分類Dev

プログラムの実行時にMicrosoftAzure Speech To Textで文字起こしを開始するにはどうすればよいですか?(Unity、C#)

分類Dev

Ubuntu (仮想化されていない) で Windows を使用して Adobe プログラムを実行するにはどうすればよいですか?

分類Dev

このプログラムを高速化してフィボナッチ数列を見つけるにはどうすればよいですか

分類Dev

stdoutを無視してbashからプログラムを実行し、より多くのプログラムを実行できるようにするにはどうすればよいですか?

分類Dev

autotoolsを使用して、cプログラムの横のsrcディレクトリでpandocを実行するにはどうすればよいですか?

分類Dev

rootとしてではなく、昇格された特権でプログラムを実行するにはどうすればよいですか?

分類Dev

Windowsで実行されているプログラムやPythonコードを完全に強制終了するにはどうすればよいですか?

分類Dev

C#プログラムから実行される並列プロセスの数を制限するにはどうすればよいですか?

分類Dev

PLCなしでTwincatプログラムを実行するにはどうすればよいですか?

分類Dev

Juliaでプログラムの実行を一時停止するにはどうすればよいですか?

分類Dev

Android(Eclispe):プログラムの途中で実行を停止するにはどうすればよいですか?

分類Dev

プログラムを実行しているCloudTPUデバイスについて詳しく知るにはどうすればよいですか?

分類Dev

oprofileを使用してCプログラムの一部の実行時間を計算するにはどうすればよいですか?

分類Dev

CMakeによって生成されたmakeコマンドの端末実行を高速化するにはどうすればよいですか?

分類Dev

最初の永続プログラムがバッチコマンドを使用して初期化を完了した後、2番目のプログラムを実行するにはどうすればよいですか?

分類Dev

プログラムの実行時に情報を保存するにはどうすればよいですか

分類Dev

C-execを使用してバックグラウンドでプログラムを実行するにはどうすればよいですか?

分類Dev

bashスクリプトから複数のプログラムを並行して実行するにはどうすればよいですか?

分類Dev

bashスクリプトから複数のプログラムを並行して実行するにはどうすればよいですか?

Related 関連記事

  1. 1

    forループの実行を高速化するにはどうすればよいですか?

  2. 2

    /opt で AppImage やその他のプログラムを正しく実行するにはどうすればよいですか?

  3. 3

    C#プログラムからghostscriptを実行するにはどうすればよいですか?

  4. 4

    C#でWindowsによって実行されるプログラム(Windowsの起動時に実行)からユーザーによって実行されるプログラムを診断するにはどうすればよいですか?

  5. 5

    Bazelを使用してJavaFXプログラムを実行するにはどうすればよいですか?

  6. 6

    プログラムを高速化するにはどうすればよいですか?

  7. 7

    cプログラムの実行時間を取得するにはどうすればよいですか?

  8. 8

    SSDを使用してプログラムの起動を高速化するにはどうすればよいですか?

  9. 9

    JavaScriptプログラムをより速く実行するにはどうすればよいですか?

  10. 10

    Visual Studioを使用せずにc#プログラムをコンパイルして実行するにはどうすればよいですか?

  11. 11

    プログラムの実行時にMicrosoftAzure Speech To Textで文字起こしを開始するにはどうすればよいですか?(Unity、C#)

  12. 12

    Ubuntu (仮想化されていない) で Windows を使用して Adobe プログラムを実行するにはどうすればよいですか?

  13. 13

    このプログラムを高速化してフィボナッチ数列を見つけるにはどうすればよいですか

  14. 14

    stdoutを無視してbashからプログラムを実行し、より多くのプログラムを実行できるようにするにはどうすればよいですか?

  15. 15

    autotoolsを使用して、cプログラムの横のsrcディレクトリでpandocを実行するにはどうすればよいですか?

  16. 16

    rootとしてではなく、昇格された特権でプログラムを実行するにはどうすればよいですか?

  17. 17

    Windowsで実行されているプログラムやPythonコードを完全に強制終了するにはどうすればよいですか?

  18. 18

    C#プログラムから実行される並列プロセスの数を制限するにはどうすればよいですか?

  19. 19

    PLCなしでTwincatプログラムを実行するにはどうすればよいですか?

  20. 20

    Juliaでプログラムの実行を一時停止するにはどうすればよいですか?

  21. 21

    Android(Eclispe):プログラムの途中で実行を停止するにはどうすればよいですか?

  22. 22

    プログラムを実行しているCloudTPUデバイスについて詳しく知るにはどうすればよいですか?

  23. 23

    oprofileを使用してCプログラムの一部の実行時間を計算するにはどうすればよいですか?

  24. 24

    CMakeによって生成されたmakeコマンドの端末実行を高速化するにはどうすればよいですか?

  25. 25

    最初の永続プログラムがバッチコマンドを使用して初期化を完了した後、2番目のプログラムを実行するにはどうすればよいですか?

  26. 26

    プログラムの実行時に情報を保存するにはどうすればよいですか

  27. 27

    C-execを使用してバックグラウンドでプログラムを実行するにはどうすればよいですか?

  28. 28

    bashスクリプトから複数のプログラムを並行して実行するにはどうすればよいですか?

  29. 29

    bashスクリプトから複数のプログラムを並行して実行するにはどうすればよいですか?

ホットタグ

アーカイブ