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

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

9
文字列の連結が配列結合よりも速いのはなぜですか?
今日、私はこのスレッドを読んで、文字列連結の速度について読みました。 驚いたことに、文字列の連結が勝者でした。 http://jsben.ch/#/OJ3vo 結果は私が思っていたのとは正反対でした。また、同様に反対の説明このことについて多くの記事があり、これは。 ブラウザはconcat最新バージョンで文字列に最適化されていると思いますが、どうやってそれを行うのですか?+文字列を連結するときに使用する方が良いと言えますか? 更新 使用するのでだから、最近のブラウザで文字列の連結は、最適化されている+兆候が速く使うよりjoinあなたがしたいときCONCATENATE文字列。 しかし、@ Arthurは、文字列をセパレータで結合しjoinたい場合は、それがより速いと指摘しました。 更新-2020 Chrome:配列joinはほぼ2 times faster文字列連結です+ 参照:https : //stackoverflow.com/a/54970240/984471 注として: joinあなたが持っている場合、配列はより良いですlarge strings several small strings最終出力で生成する必要がある場合は、文字列concatを使用することをお勧めします。+そうしないと、配列を使用すると、最後にいくつかの配列から文字列への変換が必要になるため、パフォーマンスが過負荷になります。

5
RelativeLayoutはLinearLayoutよりも高価ですか?
非常にシンプルなものを表示したいだけでも柔軟性があるため、Viewコンテナが必要になるたびに常にRelativeLayoutを使用してきました。 パフォーマンス/グッドプラクティスの観点から、そうしてもいいですか、それともできる限りLinearLayoutを使用してみるべきですか? ありがとう!


4
イベントハンドラーのラムダ式の使用
現在、次のように宣言されているページがあります。 public partial class MyPage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //snip MyButton.Click += (o, i) => { //snip } } } 最近、1.1から.NET 3.5に移行したばかりなので、Page_Loadの外部でイベントハンドラーを作成することに慣れています。私の質問です。これにラムダメソッドを使用するときに注意する必要のあるパフォーマンスの欠点や落とし穴はありますか?確かに簡潔なので、私はそれを好みますが、使用するためにパフォーマンスを犠牲にしたくありません。ありがとう。
114 c#  performance  events  lambda 

3
MongoDBでインデックスの方向が重要なのはなぜですか?
ドキュメントを引用するには: インデックスを作成するとき、キーに関連付けられた番号はインデックスの方向を指定するため、常に1(昇順)または-1(降順)である必要があります。方向は、単一のキーインデックスやランダムアクセス検索では重要ではありませんが、複合インデックスで並べ替えや範囲クエリを実行する場合は重要です。 ただし、複合インデックスでインデックスの方向が重要である理由はわかりません。誰かがさらに説明(または例)を提供できますか?

8
ハッシュテーブルは本当にO(1)になるのでしょうか?
ハッシュテーブルがO(1)を達成できることは一般的な知識のようですが、それは私には意味がありませんでした。誰かがそれを説明できますか?頭に浮かぶ2つの状況を次に示します。 A. 値は、ハッシュテーブルのサイズよりも小さいintです。したがって、値は独自のハッシュであるため、ハッシュテーブルはありません。しかし、あったとしても、それはO(1)であり、それでも非効率的です。 B. 値のハッシュを計算する必要があります。この状況では、検索されるデータのサイズの順序はO(n)です。O(n)の作業を行った後、ルックアップはO(1)になるかもしれませんが、それでも私の目にはO(n)が出てきます。 また、完全なハッシュテーブルまたは大きなハッシュテーブルがない限り、バケットごとに複数のアイテムが存在する可能性があります。したがって、いずれにしても、ある時点で小さな線形検索に発展します。 ハッシュテーブルはすばらしいと思いますが、理論的なものでない限り、O(1)の指定はありません。 ウィキペディアのハッシュテーブルに関する記事は、常に一定のルックアップ時間を参照しており、ハッシュ関数のコストを完全に無視しています。それは本当に公正な措置ですか? 編集:私が学んだことを要約するには: ハッシュ関数はキーのすべての情報を使用する必要がないため、一定の時間になる可能性があり、十分に大きいテーブルは衝突を一定の時間に近づけることができるため、技術的には正しいです。 ハッシュ関数とテーブルサイズが衝突を最小限に抑えるように選択されている限り、一定の時間のハッシュ関数を使用しないことがよくあるので、時間が経つとうまくいきます。

10
Spring Bootの起動時間を短縮する
Spring Bootアプリケーションがあります。多くの依存関係を追加しましたが(残念ながら、すべての依存関係が必要です)、起動時間がかなり長くなりました。a SpringApplication.run(source, args)を実行するだけで10秒かかります。 これは「慣れている」ものと比べてそれほど多くはないかもしれませんが、それが開発フローを壊してしまうために、それだけかかることは不満です。この時点ではアプリケーション自体はかなり小さいので、ほとんどの場合、アプリケーションクラス自体ではなく、追加された依存関係に関連していると思います。 問題はクラスパススキャンであると思いますが、次の方法がわかりません。 それが問題であることを確認します(つまり、Spring Bootを「デバッグ」する方法) それが本当に原因である場合、どうすれば制限できるので、速くなりますか?たとえば、Springがスキャンする必要のあるものが依存関係またはパッケージに含まれていないことがわかっている場合、それを制限する方法はありますか? 私がいることを前提とし、起動時にパラレル豆の初期化を持って春を強化することは、物事をスピードアップするだろうが、その機能拡張要求は、任意の進行せず、2011年以来開いてきました。Investigate Tomcat JarScanningの速度の改善など、Spring Boot自体にもいくつかの取り組みが見られますが、それはTomcat固有のものであり、放棄されています。 この記事: http://www.nurkiewicz.com/2010/12/speeding-up-spring-integration-tests.html 統合テストを目的としていますが、の使用を推奨しlazy-init=trueていますが、これをJava構成を使用してSpring BootのすべてのBeanに適用する方法がわかりません-ここにポインタがありますか? (その他の)提案があれば歓迎します。

10
PHPでは$ array [] = $ valueまたはarray_push($ array、$ value)を使用する方が良いでしょうか?
配列メンバーを追加するためにPHPで使用するほうがよいこと $array[] = $value; または array_push($array, $value); ? マニュアルには関数呼び出しを避ける方がいいと書いてありますが、私も読んだ方$array[]がずっと遅いですarray_push()。いくつかの説明やベンチマークは何ですか?
113 php  arrays  performance 

4
MySQLの2つの単一列インデックスと1つの2列索引?
次の問題に直面しましたが、何がベストプラクティスなのかわかりません。 次の表を検討してください(これは大きくなります)。 id PK | giver_id FK | recipient_id FK | 日付 私はInnoDBを使用しており、私が理解していることから、2つの外部キー列のインデックスが自動的に作成されます。ただし、次の特定の組み合わせに一致させる必要があるクエリも多数実行します。 SELECT...WHERE giver_id = x AND recipient_id = t。 そのような各組み合わせは、テーブル内で一意になります。 これらの列に2列のインデックスを追加するメリットはありますか、または理論的には2つの個別のインデックスで十分/同じですか?

3
文字列補間とString.Format
文字列補間の使用には顕著なパフォーマンスの違いがありますか? myString += $"{x:x2}"; vs String.Format()? myString += String.Format("{0:x2}", x); Resharperが修正を促しているため、私は質問しているだけで、以前はだまされていました。


5
ifとスイッチ速度
コンパイラの最適化により、switchステートメントは通常、同等のif-else-ifステートメントよりも高速です(この記事で説明されているように)。 この最適化は実際にはどのように機能しますか?誰か良い説明はありますか?

6
Javaオブジェクトをnullに設定しても、もう何もしませんか?
古い本をいくつか見ていて、Peter Haggerによる "Practical Java"のコピーを見つけました。パフォーマンスのセクションでは、null不要になったときにオブジェクト参照を設定することをお勧めします。 Javaでは、オブジェクト参照を設定してnullパフォーマンスまたはガベージコレクションの効率を向上させますか?もしそうなら、どのような場合にこれは問題ですか?コンテナクラス?オブジェクト構成?匿名の内部クラス? これはコードでかなり頻繁に見られます。これは現在、古いプログラミングのアドバイスですか、それともまだ役に立ちますか?

10
MySQLテーブルでのvarchar長の重要性
行が動的に挿入されるMySQLテーブルがあります。文字列の長さがわからないため、切り取ってほしくないので、varchar(200)にして、一般的に必要以上に大きくしています。varcharフィールドに必要以上に長い長さを与えると、パフォーマンスに大きな影響がありますか?
112 sql  mysql  performance  types 

3
CUDAカーネルのグリッドとブロックの次元を選択するにはどうすればよいですか?
これは、CUDAグリッド、ブロック、およびスレッドのサイズを決定する方法に関する質問です。これは、ここに投稿された質問に対する追加の質問です。 このリンクをたどると、talonmiesからの回答にコードスニペットが含まれます(以下を参照)。「チューニングとハードウェアの制約によって通常選択される値」というコメントを理解できません。 CUDAのドキュメントで、これを説明する適切な説明や説明が見つかりませんでした。要約すると、私の質問はblocksize、次のコードが与えられたときに最適な(スレッドの数)を決定する方法です。 const int n = 128 * 1024; int blocksize = 512; // value usually chosen by tuning and hardware constraints int nblocks = n / nthreads; // value determine by block size and total work madd<<<nblocks,blocksize>>>mAdd(A,B,C,n);

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