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

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

30
Javaの配列またはリスト。どちらが速いですか?
Javaでシリアルにアクセスするには、何千もの文字列をメモリに保持する必要があります。それらを配列に格納する必要がありますか、それとも何らかのリストを使用する必要がありますか? 配列は(Listsとは異なり)連続したメモリのチャンクにすべてのデータを保持するため、配列を使用して数千の文字列を格納すると問題が発生しますか?
351 java  arrays  list  performance 

30
.NETでは、「for」または「foreach」のどちらのループが速く実行されますか?
C#/ VB.NET / .NETでは、どのループがより速く実行されますforかforeach? ループがずっと前にループforよりも速く機能することを読んだので、それがすべてのコレクション、ジェネリックコレクション、すべての配列などに当てはまると思いました。foreach 私はGoogleを調べていくつかの記事を見つけましたが、それらのほとんどは決定的ではなく(記事に関するコメントを読んで)、自由回答です。 理想的なのは、各シナリオをリストして、それらの最良のソリューションを用意することです。 たとえば(それがどうあるべきかのほんの一例): 1000以上の文字列の配列を反復するため- forより良いですforeach IList(非ジェネリック)文字列を反復するため- foreachより優れていますfor 同じことをウェブ上で見つけたいくつかの参考文献: エマニュエルシャンツァーによるオリジナルの壮大な古い記事 CodeProject FOREACH対。ために ブログ-するべきforeachかどうかforeach、それが問題です ASP.NETフォーラム-NET 1.1 C#forvsforeach [編集] 読みやすさの側面は別として、私は事実と数字に本当に興味があります。絞り込まれたパフォーマンス最適化の最後の1マイルが問題になるアプリケーションがあります。
345 c#  .net  performance  for-loop 

4
PHP関数のBig-Oのリスト
しばらくPHPを使用した後、組み込みのすべてのPHP関数が期待どおりに高速であるとは限りません。キャッシュされた素数の配列を使用して、数値が素数であるかどうかを検出する関数のこれら2つの可能な実装を検討してください。 //very slow for large $prime_array $prime_array = array( 2, 3, 5, 7, 11, 13, .... 104729, ... ); $result_array = array(); foreach( $prime_array => $number ) { $result_array[$number] = in_array( $number, $large_prime_array ); } //speed is much less dependent on size of $prime_array, and runs much faster. $prime_array => …

12
ランダムな行を選択する最良の方法PostgreSQL
PostgreSQLで行をランダムに選択したいので、これを試しました: select * from table where random() < 0.01; しかし、他の人はこれをお勧めします: select * from table order by random() limit 1000; 5億行の非常に大きなテーブルがあるので、高速にしたい。 どちらのアプローチが良いですか?違いは何ですか?ランダムな行を選択する最良の方法は何ですか?



11
numpy配列に関数をマッピングする最も効率的な方法
numpy配列に関数をマップする最も効率的な方法は何ですか?私の現在のプロジェクトでそれをやってきた方法は次のとおりです: import numpy as np x = np.array([1, 2, 3, 4, 5]) # Obtain array of square of each element in x squarer = lambda t: t ** 2 squares = np.array([squarer(xi) for xi in x]) しかし、これはおそらく非常に非効率的であるように思われます。リスト内包表記を使用して新しい配列をPythonリストとして作成し、それをnumpy配列に変換して戻すためです。 もっと上手くできる?


12
MySQLテーブルに行が存在するかどうかをテストする最良の方法
テーブルに行が存在するかどうかを確認しようとしています。MySQLを使用して、次のようなクエリを実行することをお勧めします。 SELECT COUNT(*) AS total FROM table1 WHERE ... 合計がゼロ以外であるか、または次のようなクエリを実行する方が良いかどうかを確認します。 SELECT * FROM table1 WHERE ... LIMIT 1 行が返されたかどうかを確認しますか? どちらのクエリでも、WHERE句はインデックスを使用します。
336 sql  mysql  performance  exists 


10
「as」およびnull許容型によるパフォーマンスの驚き
null許容型を扱うC#in Depthの第4章を改訂し、 "as"演算子の使用に関するセクションを追加して、次のように記述できるようにします。 object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } 私はこれが本当に素晴らしいと思い、 "is"に続けてキャストを使用することで、C#1と同等のパフォーマンスを向上させることができると思いました。 。 ただし、そうではないようです。以下にサンプルテストアプリを含めました。これは基本的にオブジェクト配列内のすべての整数を合計しますが、配列には多くのnull参照と文字列参照、およびボックス化された整数が含まれています。ベンチマークは、C#1で使用する必要があるコード、「as」演算子を使用するコード、およびLINQソリューションのキックを測定します。驚いたことに、この場合、C#1コードは20倍高速です。また、LINQコード(イテレータが関与していることを考えると、遅くなることが予想されていました)でも「as」コードよりも優れています。 isinstnull許容型の.NET実装は本当に遅いのですか?unbox.any問題の原因は追加ですか?これには別の説明がありますか?現時点では、パフォーマンスに敏感な状況でこれを使用することに対する警告を含める必要があるように思われます... 結果: キャスト:10000000:121 As:10000000:2211 LINQ:10000000:2143 コード: using System; using System.Diagnostics; using System.Linq; class Test { const int Size = 30000000; static void Main() …

9
非常に大きなデータベースファイルを使用するsqliteのパフォーマンス特性は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 この質問を改善する sqliteは、サポートされている場合でも、非常に大きなデータベースファイルでは十分に機能しないことを知っています(1 GBを超えるファイルサイズが必要な場合は、エンタープライズrdbmsの使用を検討することをお勧めします。もう見つかりません。古いバージョンのsqliteに関連している可能性があります)。 しかし、私の目的のために、他の解決策を検討する前に、それが実際にどれほど悪いかを理解したいと思います。 私は2GBから数ギガバイトの範囲のsqliteデータファイルについて話しています。誰でもこれについて何か経験がありますか?ヒント/アイデアはありますか?

22
πの値を取得する最も速い方法は何ですか?
個人的な課題として、πの値を取得する最速の方法を探しています。より具体的には、などの#define定数を使用しM_PIたり、数値をハードコーディングしたりする必要のない方法を使用しています。 以下のプログラムは、私が知るさまざまな方法をテストします。インラインアセンブリバージョンは理論的には最速のオプションですが、移植性はありません。他のバージョンと比較するためのベースラインとして含めました。私のテストでは、組み込みで、4 * atan(1)バージョンをGCC 4.2で最も高速にatan(1)しています。これは、を定数に自動フォールディングするためです。で-fno-builtin指定され、atan2(0, -1)バージョンが最速です。 主なテストプログラムはpitimes.c次のとおりです(): #include <math.h> #include <stdio.h> #include <time.h> #define ITERS 10000000 #define TESTWITH(x) { \ diff = 0.0; \ time1 = clock(); \ for (i = 0; i < ITERS; ++i) \ diff += (x) - M_PI; \ time2 = clock(); \ printf("%s\t=> %e, time …

7
MySQLとMongoDB 1000の読み取り
私はMongoDbに非常に興奮しており、最近それをテストしています。MySQLにpostと呼ばれるテーブルがあり、 'id'というフィールドでのみ約2,000万のレコードにインデックスが付けられました。 MongoDBと速度を比較したかったので、巨大なデータベースからランダムに15レコードを取得して印刷するテストを実行しました。mysqlとMongoDBに対してそれぞれ約1,000回クエリを実行しましたが、速度に大きな違いはないことに驚いています。たぶんMongoDBは1.1倍高速です。それは非常に残念です。私が間違っていることはありますか?私のテストは完璧ではありませんが、集中的な雑用の読み取りに関しては、MySQLはMongoDbと同等です。 注意: デュアルコア+(2スレッド)i7 cpuおよび4GB ram MySQLに20のパーティションがあり、それぞれ100万レコード MongoDBのテストに使用されるサンプルコード <?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $time_taken = 0; $tries = 100; // connect $time_start = microtime_float(); for($i=1;$i<=$tries;$i++) { $m = new Mongo(); $db = $m->swalif; $cursor = $db->posts->find(array('id' => array('$in' => …

8
テキストファイルを1行ずつ読み取る最も速い方法は何ですか。
テキストファイルを1行ずつ読みたいのですが。.NET C#のスコープ内で可能な限り効率的に実行しているかどうかを知りたいと思いました。 これは私がこれまでに試みていることです: var filestream = new System.IO.FileStream(textFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite); var file = new System.IO.StreamReader(filestream, System.Text.Encoding.UTF8, true, 128); while ((lineOfText = file.ReadLine()) != null) { //Do something with the lineOfText }

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