タグ付けされた質問 「performance」

コードおよびアプリケーション効率の測定または改善に関する質問。

10
String.Contains()はString.IndexOf()より高速ですか?
約2000文字の文字列バッファがあり、特定の文字列が含まれているかどうかバッファを確認する必要があります。 すべてのWebリクエストに対してASP.NET 2.0 Webアプリケーションでチェックを行います。 String.ContainsメソッドがString.IndexOfメソッドよりもパフォーマンスが良いかどうか誰かが知っていますか? // 2000 characters in s1, search token in s2 string s1 = "Many characters. The quick brown fox jumps over the lazy dog"; string s2 = "fox"; bool b; b = s1.Contains(s2); int i; i = s1.IndexOf(s2); 楽しい事実
111 c#  .net  asp.net  performance  string 

4
なぜpow(a、d、n)はa ** d%nよりもはるかに速いのですか?
私はMiller-Rabin素数性テストを実装しようとしていましたが、中規模の数値(約7桁)でこれほど長い時間(> 20秒)がかかるのはなぜですか。最終的に次のコード行が問題の原因であることがわかりました。 x = a**d % n (ここaで、、、dおよびnはすべて類似していますが、中規模の数値が等しくなく**、指数演算子であり%、モジュロ演算子です) 次に、次のものに置き換えてみました。 x = pow(a, d, n) それに比べると、それはほとんど瞬時です。 コンテキストについては、元の関数は次のとおりです。 from random import randint def primalityTest(n, k): if n < 2: return False if n % 2 == 0: return False s = 0 d = n - 1 while d % 2 == …
110 python  performance  pypy 

9
SQL SELECTの速度intとvarchar
テーブルを作成している最中です。 メイク(たとえば、BMW、アウディなど)がある車を保存すると、メイクをintまたはvarcharとして保存すると、クエリ速度に違いが生じますか? そうです SELECT * FROM table WHERE make = 5 AND ...; より速い/遅い SELECT * FROM table WHERE make = 'audi' AND ...; それとも速度はほぼ同じですか?

29
Netbeansのパフォーマンスを向上させる方法は?
Netbeansをロードしてより速く動作させるための実際の方法はありますか? しばらくコーディングしていると、速度が遅すぎて悪化します。それは私のすべてのRAMを消費します。 私はWindowsマシン、具体的にはWindows Server 2008 Datacenter Edition x64、4GbのRAM、3Ghz Core 2 Duoプロセッサーなどを使用しています。x64JDKを使用しています。私にとっては、NOD32アンチウイルスを使用しています。これは、マシンのパフォーマンスで最高です。 タスクマネージャーでは、netbeans.exeは20 MB以下、java.exeは600 MB以上しか表示しません。 私のプロジェクトはJ2EE Webアプリケーションで、500クラスを超え、プロジェクトライブラリのみが含まれていません(外部)。遅いと言ったとき、3、4、5分以上のNetbeansがフリーズしていることを意味します。 エラー警告、svnステータスなどのファイルの状態を取得するためにすべてのファイルを読み取る必要がある場合、私のプロジェクトはNetbeansには大きすぎますか?これをすべて無効にできますか?ファイルを開いたときだけスキャンするように設定することはできますか? 私のCPU使用率は通常、すべてのツールを開いた状態で30%です。つまり、Netbeans、MS SQL Manager、メモ帳、XMLSpy、タスクマネージャー、Delphi、VirtualBoxです。Netbeansは私の仮想化システムよりも多くのRAMを消費します。 Linuxでは、同じマシン(Ubuntu 8.04 x64)にあるWindowsと同じくらい遅いです。 Netbeansチームが起動速度を改善したことは事実ですが、起動するとALLのキャッシュが開始されます。 いくつかのJVMパラメータを使用して、高いメモリ使用量を設定しました。 "C:\Program Files\NetBeans Dev\bin\netbeans.exe" -J-Xms32m -J-Xmx512m -J-Xverify:none -J-XX:+CMSClassUnloadingEnabled しかし、それでもまだ遅いです。

16
Android-起動時に白い画面を表示しない
誰もが知っているように、多くのAndroidアプリは、最初Activityにフォーカスが当たる前に、ごく短時間、白い画面を表示します。この問題は、次の場合に発生します。 グローバルApplicationクラスを拡張し、そこで主要な初期化を実行するAndroidアプリ。Application オブジェクトは常に最初のオブジェクトActivity(デバッガーで確認できる事実)の前に作成されるため、これは理にかなっています。これが私の場合の遅延の原因です。 スプラッシュスクリーンの前にデフォルトのプレビューウィンドウを表示するAndroidアプリ。 android:windowDisablePreview = "true"ここでは明らかに設定は機能しません。また、[残念ながら]スプラッシュスクリーンはを使用しているため、スプラッシュスクリーンの親テーマをここでTheme.Holo.NoActionBar説明するように設定することもできません。ActionBar 一方、Applicationクラスを拡張しないアプリは、起動時に白い画面を表示しません。 問題は、理想的には、Applicationオブジェクトで実行される初期化は、最初のものが表示される前に行われる必要Activityがあることです。だから私の質問は、オブジェクトを使用せずにアプリの起動時にこれらの初期化を実行するにはどうすればよいApplicationですか?おそらくThreadまたはを使用しているServiceと思いますか? これは考えるべき興味深い問題です。NoActionBar私のスプラッシュ画面には実際にはActionBarいくつかの無関係な理由のために悲劇的にあるので、私は(テーマを設定することによって)通常の方法でそれをバイパスすることはできません。 注意: 私はすでに次の質問に言及しました: アプリの起動時に白い画面を修正する方法? Androidスプラッシュ画面は最初は白いですか? スプラッシュスクリーンの前に白い画面 Androidアプリ起動時の白い背景 Androidでアプリの実行を開始すると1秒間白い画面が表示されるのはなぜですか? 参照: パターン–起動画面。 ブランド化された起動画面:Androidの新しいスプラッシュ。 スプラッシュスクリーン正しい方法。

8
SQL結合とSQLサブクエリ(パフォーマンス)の比較
私がこのような結合クエリを持っているかどうか知りたい- Select E.Id,E.Name from Employee E join Dept D on E.DeptId=D.Id そして、このようなサブクエリ - Select E.Id,E.Name from Employee Where DeptId in (Select Id from Dept) パフォーマンスを検討するとき、2つのクエリのどちらが高速で、なぜですか? また、どちらか一方を優先する必要がある時期はありますか? これが簡単すぎて前に尋ねられたら申し訳ありませんが、私はそれについて混乱しています。また、2つのクエリのパフォーマンスを測定するために使用するツールを提案していただければ幸いです。どうもありがとう!

4
コードでパンダapply()をいつ使用したいですか?
Stack OverflowでPandasメソッドの使用に関する質問に投稿された多くの回答を見てきましたapply。また、「apply遅く、避けた方がいい」とのコメントをユーザーから見たことがあります。 パフォーマンスapplyが遅いという説明のある記事をたくさん読んだことがあります。また、ドキュメントでapplyUDFを渡すための単純な便利な関数についての免責事項も確認しました(現在、それを見つけることができないようです)。したがって、一般的なコンセンサスは、apply可能であれば回避する必要があるということです。ただし、これにより次の質問が生じます。 applyひどい場合は、なぜAPIにあるのですか? いつ、どのようにしてコードをapplyフリーにする必要がありますか? どんな状況で、これまで存在しapplyている良い(他の可能な解決策よりも良い)は?

10
Goが(Javaと比べて)なぜ遅いのですか?
2010年のコンピューター言語ベンチマークゲームからわかるように、 Goは平均してCの 10倍遅い GoはJavaより3倍遅い!? Goコンパイラーが実行用のネイティブコードを生成することを念頭に置いて、これはどのようになりますか? Goの未熟なコンパイラ?または、Go言語に固有の問題がありますか? 編集: ほとんどの回答はGo言語の本質的な遅いことを否定し、問題は未熟なコンパイラにあると主張しています。 したがって、フィボナッチ数を計算するためにいくつかの独自のテストを行いました。反復アルゴリズムはsame、C(O3オプションを使用)と同じ速度でGo(freebsd、6g)で実行されます。鈍い再帰的なものは、Go 2 timesでCよりも遅く実行されます(-O3オプションを使用、-O0を使用-同じ)。しかし、ベンチマークゲームのように10倍の減少を見たことはありません。

7
C ++で例外が(舞台裏で)機能する方法
例外は遅いと人々が言っ​​ているのを見続けていますが、証拠はありません。それで、それらがそうであるかどうかを尋ねるのではなく、例外が舞台裏でどのように機能するかを尋ねるので、それらをいつ使用するか、そしてそれらが遅いかどうかの決定をすることができます。 私の知っている限りでは、例外は、何度もリターンを行うのと同じですが、各リターンの後に、別のリターンを行う必要があるか、停止する必要があるかどうかもチェックします。戻るのをいつ停止するかをどのように確認しますか?例外のタイプとスタックの場所を保持する2番目のスタックがあると思います。その後、そこに到達するまで戻ります。また、この2番目のスタックがタッチされるのは、スローと各トライ/キャッチ時だけだと思います。AFAICTが戻りコードを使用して同様の動作を実装すると、同じ時間がかかります。しかし、これはすべて推測にすぎないので、実際に何が起こっているのかを知りたいのです。 例外は実際にはどのように機能しますか?

3
静的メソッドとインスタンスメソッドのパフォーマンス
私の質問は、静的メソッドとインスタンスメソッドのパフォーマンス特性とそのスケーラビリティに関連しています。このシナリオでは、すべてのクラス定義が単一のアセンブリ内にあり、複数の個別のポインタータイプが必要であると想定します。 考慮してください: public sealed class InstanceClass { public int DoOperation1(string input) { // Some operation. } public int DoOperation2(string input) { // Some operation. } // … more instance methods. } public static class StaticClass { public static int DoOperation1(string input) { // Some operation. } public static int DoOperation2(string …

13
C ++での効率的な文字列連結
std :: stringの "+"演算子や、連結を高速化するためのさまざまな回避策について心配を表明している人がいると聞いたことがあります。これらのどれが本当に必要ですか?もしそうなら、C ++で文字列を連結する最良の方法は何ですか?

3
高速整数型が他の整数型よりも速いのはなぜですか?
ISO / IEC 9899:2018(C18)では、7.20.1.3に規定されています。 7.20.1.3最短の最小幅整数型 1次の各タイプは、少なくとも指定された幅を持つすべての整数型の中で動作するのに通常最も高速な整数型を指定しています268)。 2 typedef名int_fastN_tは、幅がN以上uint_fastN_tの最速の符号付き整数型を示します。typedef名は、幅がN以上の最速の符号なし整数型を示します。 3次のタイプが必要です。 int_fast8_t、int_fast16_t、int_fast32_t、int_fast64_t、 uint_fast8_t、uint_fast16_t、uint_fast32_t、uint_fast64_t このフォームの他のすべてのタイプはオプションです。 268)指定されたタイプがすべての目的で最速であるとは限りません。実装が1つの型を選択する明確な根拠がない場合、符号型と幅の要件を満たす整数型を選択するだけです。 しかし、これらの「高速」整数型がより高速である理由は明記されていません。 これらの高速整数型が他の整数型よりも速いのはなぜですか? 高速整数型はC ++ 17のヘッダーファイルでも利用できるため、C ++で質問にタグを付けましたcstdint。残念ながら、ISO / IEC 14882:2017(C ++ 17)では、その説明についてそのようなセクションはありません。それ以外の場合は質問の本文にそのセクションを実装しました。 情報:Cでは、のヘッダーファイルで宣言されていますstdint.h。
107 c++  c  performance  types  int 

9
C ++クラスで仮想メソッドを使用する場合のパフォーマンスコストはどれくらいですか?
C ++クラス(またはその親クラスのいずれか)に少なくとも1つの仮想メソッドがあることは、クラスに仮想テーブルがあり、すべてのインスタンスに仮想ポインターがあることを意味します。 したがって、メモリコストは非常に明確です。最も重要なのは、インスタンスのメモリコストです(特に、インスタンスが小さい場合、たとえば、単に整数を含めることを意図している場合)。この場合、すべてのインスタンスに仮想ポインタがあると、インスタンスのサイズが2倍になる可能性があります。仮想テーブルが使用するメモリ領域。実際のメソッドコードが使用する領域と比較すると、通常は無視できると思います。 これは私に私の質問をもたらします:メソッドを仮想化するために測定可能なパフォーマンスコスト(つまり速度への影響)はありますか?すべてのメソッド呼び出し時に、実行時に仮想テーブルでルックアップが行われるため、このメソッドへの呼び出しが非常に頻繁であり、このメソッドが非常に短い場合、測定可能なパフォーマンスヒットがある可能性があります。それはプラットフォームに依存すると思いますが、誰かがいくつかのベンチマークを実行していますか? 私が尋ねている理由は、プログラマーが仮想メソッドの定義を忘れているために起こったバグに遭遇したからです。私がこの種の間違いを見たのはこれが初めてではありません。そして、私はそれが必要でないことが確実であるときに仮想キーワードを削除するのではなく、なぜ必要なときに仮想キーワードを追加するのかと考えました。パフォーマンスコストが低い場合は、チームで以下をお勧めします。デストラクタを含むすべてのメソッドをデフォルトで仮想化し、すべてのクラスで、必要な場合にのみ削除します。気が狂ってる?

6
SSEスカラーsqrt(x)がrsqrt(x)* xより遅いのはなぜですか?
私はIntel Core Duoでいくつかのコア計算をプロファイリングしており、平方根へのさまざまなアプローチを検討しているときに、奇妙なことに気付きました:SSEスカラー演算を使用すると、逆平方根を取得して乗算する方が高速ですネイティブのsqrtオペコードを使用するよりも、sqrtを取得する方が便利です。 私はそれを次のようなループでテストしています: inline float TestSqrtFunction( float in ); void TestFunc() { #define ARRAYSIZE 4096 #define NUMITERS 16386 float flIn[ ARRAYSIZE ]; // filled with random numbers ( 0 .. 2^22 ) float flOut [ ARRAYSIZE ]; // filled with 0 to force fetch into L1 cache cyclecounter.Start(); for …

9
パフォーマンステストを繰り返すためにファイルキャッシュをクリアする
キャッシュされたファイルのコンテンツを削除して、パフォーマンス結果の偏りを防ぐために使用できるツールまたはテクニックは何ですか?ファイルとディレクトリの内容に関するキャッシュされた情報を完全にクリアするか、選択的に削除する必要があると思います。 私が開発しているアプリケーションは、専用の圧縮ユーティリティであり、オペレーティングシステムが最近変更していないファイルの読み取りや書き込みが多く、ディスクブロックがキャッシュされない可能性があります。 ファイル処理作業を行うためのさまざまな戦略をプロファイリングするタスクを繰り返すときに、IO時間に見られる変動を取り除きたいと思います。 私は主にWindows XPのソリューションに興味があります。それは私の主な開発マシンであるためですが、Linuxを使用してテストすることもできるので、その環境に対する回答にも興味があります。 SysInternals CacheSetを試しましたが、[クリア]をクリックしても、数回読んだばかりのファイルを再度読み取る時間は、測定可能なほどには増加しません(コールドブート後のタイミングへの復元)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.