問題タブ [performance]

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.

0 投票する
15 に答える
14523 参照

.net - 「メモリリーク」の構造

.NETの観点では:

  • メモリリークとは何ですか?
  • アプリケーションがリークしているかどうかをどのように判断できますか?効果は何ですか?
  • どうすればメモリリークを防ぐことができますか?
  • アプリケーションにメモリリークがある場合、プロセスが終了するか強制終了されると、メモリリークはなくなりますか?または、アプリケーションのメモリリークは、プロセスの完了後でもシステム上の他のプロセスに影響を与えますか?
  • また、COM相互運用機能やP/Invokeを介してアクセスされるアンマネージコードについてはどうでしょうか。
0 投票する
30 に答える
69235 参照

performance - 最初の 10000 個の素数の最も効率的なコードは?

最初の 10000 個の素数を出力したい。誰でもこれに最も効率的なコードを教えてもらえますか? 説明:

  1. n >10000 でコードが効率的でないかどうかは問題ではありません。
  2. コードのサイズは問いません。
  3. どのような方法でも値をハードコーディングすることはできません。
0 投票する
11 に答える
639260 参照

c# - タイプから新しいオブジェクトインスタンスを作成する方法

Typeコンパイル時にオブジェクトのを常に知っているとは限りませんが、のインスタンスを作成する必要がある場合がありますType

から新しいオブジェクトインスタンスを取得するにはどうすればよいですTypeか?

0 投票する
8 に答える
991362 参照

sql - データベースのインデックス作成はどのように機能しますか?

データセットのサイズが大きくなるにつれてインデックス作成が非常に重要になることを考えると、データベースに依存しないレベルでインデックス作成がどのように機能するかを誰か説明できますか?

フィールドにインデックスを付けるためのクエリについては、データベース列にインデックスを付ける方法を参照してください。

0 投票する
7 に答える
29332 参照

python - Pythonで最も効率的なグラフデータ構造は何ですか?

Python で大きな (10^7 ノード) グラフを操作できるようにする必要があります。各ノード/エッジに対応するデータは最小限です。たとえば、少数の文字列です。メモリと速度の点で、これを行う最も効率的な方法は何ですか?

dict の dict はより柔軟で実装が簡単ですが、リストのリストの方が高速であると直感的に期待しています。リストオプションでは、データを構造とは別に保持する必要もありますが、辞書では次のようなものが許可されます。

何を提案しますか?


はい、効率の意味をもう少し明確にする必要がありました。この特定のケースでは、ランダムアクセス検索の観点からそれを意味します。

データをメモリにロードすることは大きな問題ではありません。それは一度だけ行われます。時間のかかる部分は、ノードにアクセスすることです。そのため、情報を抽出して、関心のあるメトリックを測定できます。

各ノードをクラスにすることは考えていませんでした (プロパティはすべてのノードで同じです)。私は、誰かが共有できる同様のケースで直接の経験を持っていることを望んでいました. 結局のところ、グラフは CS で最も一般的な抽象化の 1 つです。

0 投票する
5 に答える
5397 参照

c++ - C++でのCPUスロットリング

集中的な計算を行う特定のスレッドの最大CPU負荷を設定するための洗練された方法があるかどうか疑問に思っていました。

現在、スレッド内で最も時間のかかるループ(圧縮のみを実行)を見つけて、ハードコードされた値で使用GetTickCount()Sleep()ています。ループが特定の期間継続し、その後特定の最小時間スリープすることを確認します。それは多かれ少なかれ仕事をします、すなわちスレッドがCPUの50%以上を使用しないことを保証します。
ただし、動作はCPUコアの数(大きな欠点)と単純に醜い(小さな欠点:))に依存します。
何か案は?

0 投票する
12 に答える
32718 参照

.net - Do sealed classes really offer performance Benefits?

I have come across a lot of optimization tips which say that you should mark your classes as sealed to get extra performance benefits.

I ran some tests to check the performance differential and found none. Am I doing something wrong? Am I missing the case where sealed classes will give better results?

Has anyone run tests and seen a difference?

Help me learn :)

0 投票する
7 に答える
9209 参照

performance - 速度の比較 - インタープリター言語での手続き型とオブジェクト指向

PHP や JavaScript などのインタープリター型プログラミング言語では、手続き型アプローチよりもオブジェクト指向アプローチを採用すると、どのような影響がありますか?

特に私が探しているのは、Web アプリケーションを作成し、速度だけでなく保守性も最適化するために、手続き型アプローチとオブジェクト指向アプローチのどちらかを選択する際に考慮すべき事項のチェックリストです。これをさらに調査する記事を知っている場合は、引用された研究とテストケースも役立ちます。

結論: インタプリタ言語で OO と手続き型を使用した場合、実際にパフォーマンスへの影響が (あるとすれば) どのくらい大きいのでしょうか?

0 投票する
24 に答える
479364 参照

algorithm - Big O さん、どのように計算/概算しますか?

CS の学位を取得したほとんどの人は、 Big O の略語を知っているはずです。アルゴリズムがどれだけうまくスケールするかを測定するのに役立ちます。

しかし、興味深いのは、アルゴリズムの複雑さをどのよう計算または概算するのですか?

0 投票する
8 に答える
6603 参照

c# - ConfigurationManager.AppSettings のパフォーマンスに関する懸念事項

ConfigurationManager.AppSettingsすべての構成設定をアプリケーションの app.config セクションに (クラスを使用して) 保存する予定です。ユーザーがアプリの UI を使用して設定を変更すると (チェックボックスをクリックする、ラジオ ボタンを選択するなど)、それらの変更を に書き出す予定AppSettingsです。同時に、プログラムの実行中は、AppSettings常にデータを処理するプロセスから常にアクセスする予定です。UI を介した設定の変更は、リアルタイムでデータ処理に影響を与える必要があるため、プロセスはAppSettings常に にアクセスします。

これはパフォーマンスに関して良い考えですか?を使用AppSettingsすることは、.Net アプリを作成するときに構成設定を保存してアクセスするための「正しい方法」であると思われますが、この方法は一定の負荷を意図していないのではないかと心配しています (少なくとも設定が常に読み取られるという点では)。

誰かがこれを経験したことがあるなら、私は大いに感謝します。

更新:おそらくいくつかの点を明確にする必要があります。

これは Web アプリケーションではないため、データベースをアプリケーションに接続することは、単に構成設定を保存するためだけにやり過ぎかもしれません。これは Windows フォーム アプリケーションです。

MSDN のドキュメントによると、ConfigurationManagerはアプリケーション レベルの設定だけでなく、ユーザー設定も保存するためのものです。(たとえば、アプリケーションが部分信頼アプリケーションとしてインストールされている場合は特に重要です。)

更新 2:Propertiesアプリケーション (データベースなど) に追加のレイヤーを追加する必要がなく、確かに良いソリューションのように見えるため、lomaxx の回答を受け入れました。プロパティを使用する場合、他の人が提案したすべてのキャッシュが既に行われています。これは、すべての変更とその後の読み取りがすべてメモリ内で行われることを意味し、非常に高速になります。プロパティは、明示的に指示された場合にのみ変更をディスクに書き込みます。つまり、実行時にオンザフライで構成設定を変更し、プログラムの終了時にディスクへの最終的な保存のみを行うことができます。

必要な負荷を実際に処理できるかどうかを確認するために、ラップトップでテストを行ったところ、プロパティを使用して毎秒 750,000 回の読み取りと 7,500 回の書き込みを行うことができました。これは、私のアプリケーションが必要とするレベルをはるかに超えているため、パフォーマンスに影響を与えずにプロパティを使用しても安全だと感じています