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

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

19
カウントアップよりカウントダウンの方が速いですか?
私たちのコンピューターサイエンスの教師はかつて、何らかの理由で、カウントアップよりカウントダウンの方が効率的であると言っていました。たとえば、FORループを使用する必要があり、ループインデックスがどこかで使用されていない場合(N *の行を画面に出力するなど)、次のようなコードを意味します。 for (i = N; i >= 0; i--) putchar('*'); よりも良い: for (i = 0; i < N; i++) putchar('*'); 本当ですか?もしそうなら、なぜ誰かが知っていますか?
131 c  performance  loops 

8
Scalaでfor内包表記とループを最適化する方法は?
したがって、ScalaはJavaと同じくらい高速であるはずです。私が最初にJavaで取り組んだScalaのProject Eulerの問題をいくつか取り上げます。具体的には問題5:「1から20までのすべての数値で割り切れる最小の正の数値は何ですか?」 これが私のJavaソリューションです。私のマシンで完了するまでに0.7秒かかります。 public class P005_evenly_divisible implements Runnable{ final int t = 20; public void run() { int i = 10; while(!isEvenlyDivisible(i, t)){ i += 2; } System.out.println(i); } boolean isEvenlyDivisible(int a, int b){ for (int i = 2; i <= b; i++) { if (a % i != 0) …

9
PHPスクリプトの効率をベンチマークする方法
PHPスクリプトをベンチマークするための最良の方法を知りたい。cronジョブ、Webページ、Webサービスのいずれでもかまいません。 私はマイクロタイムを使用できることを知っていますが、それは本当にPHPスクリプトのリアルタイムを提供していますか? PHPで同じことを行うさまざまな関数をテストしてベンチマークしたい。たとえば、preg_matchvs strposまたはdomdocumentvs preg_matchまたはpreg_replace vs str_replace` ウェブページの例: <?php // login.php $start_time = microtime(TRUE); session_start(); // do all my logic etc... $end_time = microtime(TRUE); echo $end_time - $start_time; これは次を出力します:0.0146126717(常に変化します-しかし、それは私が得た最後のものです)つまり、PHPスクリプトを実行するのに0.015ほどかかりました。 もっと良い方法はありますか?

5
Haskellプログラムでのガベージコレクションの一時停止時間の削減
「メッセージ」を受信して​​転送するプログラムを開発していますが、メッセージの一時的な履歴を保持しているので、要求に応じてメッセージの履歴を伝えることができます。メッセージは数値で識別され、通常は約1キロバイトのサイズであり、数十万のメッセージを保持する必要があります。 このプログラムを遅延に対して最適化したいと思います。メッセージの送信と受信の間の時間は10ミリ秒未満でなければなりません。 プログラムはHaskellで書かれており、GHCでコンパイルされています。ただし、ガベージコレクションの一時停止は、待機時間の要件に対して長すぎることがわかりました。実際のプログラムでは100ミリ秒を超えています。 次のプログラムは、アプリケーションの簡易バージョンです。Data.Map.Strictメッセージの保存にを使用します。メッセージはでByteString識別されますInt。1,000,000メッセージは昇順で挿入され、最も古いメッセージは継続的に削除されて履歴が最大200,000メッセージに保たれます。 module Main (main) where import qualified Control.Exception as Exception import qualified Control.Monad as Monad import qualified Data.ByteString as ByteString import qualified Data.Map.Strict as Map data Msg = Msg !Int !ByteString.ByteString type Chan = Map.Map Int ByteString.ByteString message :: Int -> Msg message n = Msg n …

18
インラインJavascriptと外部JavaScriptのどちらを使用すればよいですか?
パフォーマンスとメンテナンスの容易さの観点から、外部スクリプトを含めるか、HTMLコードにインラインで記述する必要がある場合を知りたいです。 これの一般的な方法は何ですか? 現実のシナリオ-クライアント側のフォーム検証が必要なHTMLページがいくつかあります。このために、これらすべてのページに含めるjQueryプラグインを使用します。しかし、問題は、私が次のことを行うかどうかです。 このスクリプトをインラインで構成するコードを記述しますか? これらすべてのhtmlページで共有される1つのファイルにすべてのビットを含めますか? 各HTMLページごとに1つずつ、個別の外部ファイルに各ビットを含めますか? ありがとう。

4
「x <y <z」は「x <y and y <z」よりも高速ですか?
このページから、次のことがわかります。 連鎖比較は、and演算子を使用するよりも高速です。のx &lt; y &lt; z代わりに書いてくださいx &lt; y and y &lt; z。 ただし、次のコードスニペットをテストすると異なる結果が得られました。 $ python -m timeit "x = 1.2" "y = 1.3" "z = 1.8" "x &lt; y &lt; z" 1000000 loops, best of 3: 0.322 usec per loop $ python -m timeit "x = 1.2" "y = 1.3" …

17
Xcode 4-パフォーマンスが遅い
Xcode 4で問題があり、ユーザーの操作(コードの編集、領域のスクロールなど)への応答が非常に遅い。これは特に、多数のコントローラー/ビューファイルなどの大規模プロジェクトで発生します。 先週、ハードディスクを完全に消去し、Snow LeopardとXcodeを再インストールしましたが、着実に(数日かけて)苛立たしい応答時間になり、ワークフローが大幅に中断されました。 また、オーガナイザー-&gt;プロジェクトでプロジェクトの「派生データ」を削除することもありますが、これによる影響はほとんどありません。 最初に、より高性能なマシンを入手する以外に、パフォーマンスを向上させるために何かできることがあるかどうか疑問に思っています。 参考までに、MacBookをIntel Core 2 Duoプロセッサと2GHz、4GBのRAMで実行しています。 アップグレードが必要な場合は、適切な仕様のマシンでXcode 4のパフォーマンスが低下していないかどうかも確認してください(MacBookでパフォーマンスの問題が発生するのはXcodeだけなので、ハードウェアのアップグレードは無意味です)。 誰かが提案や推奨事項を持っている場合、または改善されたハードウェアが大規模なプロジェクトツリーでXcodeのパフォーマンスにどのように影響するかを私たちに知らせることができれば、それは非常に役立ち、同様の立場にある他の開発者にとっても貴重なリソースになります。

1
この例で「use strict」がパフォーマンスを10倍向上させるのはなぜですか?
メソッドに追加するだけでパフォーマンスが10倍向上したため、「Extending String.prototype performance」という質問に私は本当に興味をそそられます。説明によるbergiは短く、私にそれを説明していません。2つのほぼ同一の方法の間に劇的な違いがあるのはなぜですか?より詳細に、そしてその背後にある理論で説明できますか?"use strict"String.prototype"use strict" String.prototype.count = function(char) { var n = 0; for (var i = 0; i &lt; this.length; i++) if (this[i] == char) n++; return n; }; String.prototype.count_strict = function(char) { "use strict"; var n = 0; for (var i = 0; i &lt; this.length; i++) if …

1
なぜこのF#コードはとても遅いのですか?
C#とF#のLevenshtein実装。C#バージョンは、約1500文字の2つの文字列で10倍高速です。C#:69ミリ秒、F#867ミリ秒。どうして?私が知る限り、彼らはまったく同じことをしますか?それがリリースビルドかデバッグビルドかは関係ありません。 編集:編集距離の実装を特に探している人がここに来ると、壊れます。作業コードはこちらです。 C#: private static int min3(int a, int b, int c) { return Math.Min(Math.Min(a, b), c); } public static int EditDistance(string m, string n) { var d1 = new int[n.Length]; for (int x = 0; x &lt; d1.Length; x++) d1[x] = x; var d0 = new int[n.Length]; for(int i …
127 c#  performance  f#  inline 

5
Java 7コンパイル済みコードをJava 8にアップグレードするメリットはありますか?
Java 7を使用して作成された古いアプリケーションがあります。Java8 JREで正常に実行されます。Java 8の機能を利用するためにコードを書き直すつもりはありません。コンパイルされたコードを最新のJava 8 JDKにアップグレードすることに技術的なメリットはありますか? 明確にするために、コードは現在Java 7でコンパイルされており、最新のJava 8 JREですでに実行されています。Java 8ランタイムの改善によるメリットがすでに得られているはずです。この質問は、バージョン8でコンパイルし、Java 8コンパイル済みバイトコードで実行することにより、どのような利点が得られるかということです。 また、開発者の生産性などの技術的ではないメリットについても心配していません。これらは重要だと思いますが、この質問の要点ではありません。開発チームのいない本番用コードを求めています。純粋にメンテナンスモードです。
127 java  performance  java-8 

3
レンダリング時間とパフォーマンスの観点から、Panelsはどの順序で最も効率的ですか?
必要なレイアウトに複数のパネルが適していることはよくありますが、パネルの種類によってレンダリング時間が異なることは知っています。 たとえば、MSDNは次のように述べています。 比較的単純なPanel、などCanvas、より複雑なよりも有意に優れた性能を持つことができるPanel、などGrid。 レンダリング時間とパフォーマンスの観点から、WPFパネルはどの順序で最も効率的ですか? WPFパネル: Canvas DockPanel Grid UniformGrid StackPanel WrapPanel VirtualizingPanel / VirtualizingStackPanel これのリストをオンラインでどこかで見たと確信していますが、今は見つかりません。 私が探している理想的な答えは、最も速くレンダリングされる順序でパネルのリストを提供することです。子の数がパネルの効率性の大きな要因であることを理解しているので、この質問のために、各パネルにはLabel/ TextBoxペアしかないと仮定します。 さらに、特定の条件に基づいて他のパネルよりも優れたパフォーマンスを発揮する特定のパネルなど、例外のリストをお願いします。 更新 以下の承認された回答に基づいて要約すると、パネルのパフォーマンスは子アイテムの数とレイアウトに基づいていますが、一般に、最も速いものから最も遅いものまでのリストは次のとおりです。 Canvas StackPanel WrapPanel DockPanel Grid さらに、常に画面に収まらないアイテムが多数ある場合は、常にVirtualizingPanel/ VirtualizingStackPanelを使用する必要があります。 このリストからアイテムを選択する前に、以下の承認済みの回答を読んで詳細を確認することを強くお勧めします。

9
Python 3で数百万の正規表現置換を高速化
Python 3.5.2を使用しています 2つのリストがあります 約750,000の「文」(長い文字列)のリスト 750,000の文から削除したい約20,000の「単語」のリスト したがって、750,000の文をループ処理し、約20,000の置換を実行する必要がありますが、私の単語が実際には「単語」であり、より大きな文字列の一部ではない場合のみです。 私は自分の言葉を事前にコンパイルして、\bメタキャラクターに隣接するようにこれを行っています compiled_words = [re.compile(r'\b' + word + r'\b') for word in my20000words] 次に、「文」をループします import re for sentence in sentences: for word in compiled_words: sentence = re.sub(word, "", sentence) # put sentence into a growing list このネストされたループは1秒あたり約50文を処理します。これはすばらしいことですが、すべての文を処理するにはまだ数時間かかります。 このstr.replace方法を使用する方法はありますか(私はより速いと思います)、それでも置換が単語の境界でのみ発生することを要求しますか? または、re.subメソッドを高速化する方法はありますか?re.sub私の単語の長さが私の文の長さよりも長い場合はスキップして、速度をわずかに改善しましたが、それほど改善されていません。 ご提案ありがとうございます。

2
動的変数があるとパフォーマンスにどのように影響しますか?
dynamicC#でのパフォーマンスについて質問があります。私は読んdynamicでコンパイラを再度実行させますが、それは何をしますか? dynamic変数をパラメーターとして使用してメソッド全体を再コンパイルする必要がありますか、それとも動的な動作/コンテキストを持つ行だけを再コンパイルする必要がありますか? dynamic変数を使用すると、単純なforループが2桁遅くなることに気づきました。 私が遊んだコード: internal class Sum2 { public int intSum; } internal class Sum { public dynamic DynSum; public int intSum; } class Program { private const int ITERATIONS = 1000000; static void Main(string[] args) { var stopwatch = new Stopwatch(); dynamic param = new Object(); DynamicSum(stopwatch); SumInt(stopwatch); SumInt(stopwatch, …
127 c#  performance  dynamic 

2
PostgreSQLテーブルには大きすぎますか?
私は会社のRoRプロジェクトの設計に取り組んでおり、私たちの開発チームは、設計、具体的にはデータベースについて、少々議論を交わしています。 Message永続化する必要のあるというモデルがあります。これは、id以外にdb列が3つしかない非常に小さなモデルですが、本番環境に移行すると、これらのモデルが大量に存在する可能性があります。1日に最大100万件の挿入が見られます。モデルは、インデックスを作成できるモデル上の2つの外部キーによってのみ検索されます。また、モデルを削除する必要はありませんが、約3か月経過したモデルを保持する必要はありません。 では、このテーブルをPostgresに実装するとパフォーマンスに重大な問題が発生するのではないかと思います。これが問題になるかどうかを教えてくれる非常に大規模なSQLデータベースの経験がある人はいますか?もしそうなら、私たちはどの代替案を使うべきですか?

14
ルビーで単一引用符と二重引用符を使用するとパフォーマンスが向上しますか?
ルビで単一引用符の代わりに二重引用符を使用すると、Ruby 1.8および1.9で意味のある方法でパフォーマンスが低下するかどうかを知っていますか。 だから私がタイプした場合 question = 'my question' より速いですか question = "my question" rubyは、二重引用符に遭遇したときに何かを評価する必要があるかどうかを判断しようとし、おそらくそれを行うためにいくつかのサイクルを費やしていると思います。
126 ruby  performance  syntax 

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