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

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

10
三項演算子の速度はif-elseブロックの2倍ですか?
三項演算子は同等のものよりも高速であるか、少なくとも同等であると想定されています ifelseブロック - ブロック。 ただし、次のテストを行ったところ、そうではないことがわかりました。 Random r = new Random(); int[] array = new int[20000000]; for(int i = 0; i < array.Length; i++) { array[i] = r.Next(int.MinValue, int.MaxValue); } Array.Sort(array); long value = 0; DateTime begin = DateTime.UtcNow; foreach (int i in array) { if (i > 0) { value …

4
なぜHaskell(GHC)はとても速いのですか?
Haskell(GHCコンパイラを使用)は、予想よりもはるかに高速です。正しく使用すると、低レベルの言語に近づくことができます。(Haskellersが行うのが好きなことは、Cの5%以内を試すことです(またはそれを打つこともできますが、GHCはHaskellをCにコンパイルするため、非効率的なCプログラムを使用していることになります)。私の質問は、なぜですか? Haskellは宣言型であり、ラムダ計算に基づいています。マシンアーキテクチャは明らかにチューリングマシンに基づいているため、必須です。実際、Haskellには特定の評価順序さえありません。また、マシンデータタイプを処理する代わりに、代数データタイプを常に作成します。 最も奇妙なのは高次関数です。関数をその場で作成し、それらを使い果たすと、プログラムが遅くなると考えるでしょう。しかし、より高次の関数を使用すると、実際にHaskellが高速になります。実際、Haskellコードを最適化するには、マシンのようにではなく、よりエレガントで抽象的なものにする必要があるようです。Haskellのより高度な機能は、それを改善しなければ、パフォーマンスに影響を与えるようには見えません。 これが不満に聞こえる場合は申し訳ありませんが、ここに私の質問があります。その抽象的な性質と物理マシンとの違いを考慮して、なぜHaskell(GHCでコンパイル)がそれほど高速なのですか? 注:私がCや他の命令型言語がチューリングマシンにいくらか似ている(しかし、HaskellがLambda計算に似ているというわけではない)理由は、命令型言語では有限数の状態(別名行番号)があるためです、およびテープ(RAM)とともに、状態と現在のテープがテープに対して何を行うかを決定します。チューリングマシンからコンピューターへの移行については、Wikipediaのエントリ「チューリングマシンの同等物」を参照してください。

17
オブジェクトをRのリストに一定の償却時間O(1)で追加しますか?
Rリストがある場合はmylist、次のobjようにアイテムを追加できます。 mylist[[length(mylist)+1]] <- obj しかし、確かにもっとコンパクトな方法があります。私がRの初心者だったとき、次のlappend()ように書いてみました。 lappend <- function(lst, obj) { lst[[length(lst)+1]] <- obj return(lst) } しかしもちろん、Rの名前による呼び出しのセマンティクスのために機能しません(lst呼び出し時に効果的にコピーされるため、への変更lstはのスコープ外には表示されませんlappend()。R関数で環境ハッキングを実行して、関数のスコープと呼び出し環境を変更しますが、単純な追加関数を書くのは大きなハンマーのようです。 誰かがこれを行うより美しい方法を提案できますか?ベクトルとリストの両方で機能する場合、ボーナスポイント。
245 r  performance  list  append  big-o 

28
C ++はC#よりどのくらい高速ですか?
それとも逆になりましたか? 私が聞いたところによると、C#がC ++よりも高速であることが証明されているいくつかの領域がありますが、私はそれを自分でテストする勇気がありませんでした。 これらの違いを詳細に説明したり、この情報の適切な場所を私に示したりできると思いました。

15
numpy:配列内の一意の値の最も効率的な頻度カウント
に numpy / scipyがあり、効率的な配列にユニークな値のための頻度カウントを取得する方法は? これらの線に沿った何か: x = array( [1,1,1,2,2,2,5,25,1,1] ) y = freq_count( x ) print y >> [[1, 5], [2,3], [5,1], [25,1]] (あなたのために、そこにいるRユーザーのために、私は基本的にtable()関数を探しています)

16
遅いネットワーク接続をシミュレートするネットワークツール[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する ブラウザとWebサーバーが同じLAN上にあるか、同じマシン上にある場合でも、いくつかのインターネット接続タイプ(DSL、ケーブル、T1、ダイヤルアップなど)のWebページの応答時間を視覚的に評価したいと思います。実際のさまざまな接続シナリオをシミュレートするためにネットワーク帯域幅を遅くする単純なネットワークツールまたはブラウザプラグインはありますか? その点についてのご意見をお待ちしております。

30
Webアプリケーションでストレステストを実行しますか?
以前は、Microsoft Web Application Stress ToolとPylotを使用してWebアプリケーションのストレステストを行いました。簡単なホームページ、ログインスクリプト、およびサイトウォークスルー(eコマースサイトで、カートにアイテムをいくつか追加してチェックアウトする)を作成しました。 ほんの一握りの開発者でホームページを強く叩くだけでは、ほとんど常に大きな問題が見つかります。リリース後、第2ステージでさらにスケーラビリティの問題が表面化します。 私が使用したツールのURLは、Microsoft Homer(別名Microsoft Web Application Stress Tool)とPylotでした。 これらのツールによって生成されたレポートは、私にとってあまり意味がありませんでした。サイトがサポートできる同時負荷の種類を理解するために何時間も費やしました。最も愚かなバグとボトルネックが常に発生するため、常に価値がありました(たとえば、Webサーバーの設定ミス)。 あなたは何をしましたか、どのツールを使用しましたか、そしてあなたのアプローチでどのような成功を収めましたか?私にとって最も興味深い部分は、ストレステストアプリケーションによって報告された数からアプリがサポートできる同時ユーザーの数を計算するための、ある意味のある式を考え出すことです。

5
Pythonで空のリストを作成する
Pythonで新しい空のリストを作成する最良の方法は何ですか? l = [] または l = list() 私はこれを2つの理由で尋ねています: どちらが速いかに関する技術的な理由。(クラスを作成するとオーバーヘッドが発生しますか?) コードの可読性-どちらが標準的な慣習です。

23
高負荷サイトでPHPを使用するための戦術
これに答える前に、高いサーバー負荷を達成するのに十分人気のあるものを開発したことはありません。PHPといくつかの最適化技術を知っているものの、惑星に着陸したばかりのエイリアン(ため息)として私を扱います。 私はそれが正しく機能すれば、かなり多くのユーザーを獲得できるツールをPHPで開発しています。しかし、プログラムを開発する能力は十分にありますが、大量のトラフィックを処理できるものを作ることに関しては、ほとんど無知です。そこで、ここにいくつかの質問があります(この質問をリソーススレッドに変えてもかまいません)。 データベース 現時点では、PHP5でMySQLi機能を使用する予定です。しかし、ユーザーとコンテンツに関連してデータベースをどのようにセットアップすればよいですか?実際に複数のデータベースが必要ですか?現時点ではすべてが1つのデータベースに乱れています。ユーザーデータを1つのデータベースに、実際のコンテンツを別のデータベースに、最後にコアサイトコンテンツ(テンプレートマスターなど)を別のデータベースに分散することを検討してきました。これの背後にある私の推論は、1つのデータベース= 3つのロードソースとして、異なるデータベースにクエリを送信すると、それらの負荷を軽減することです。また、すべてが同じサーバー上にある場合でも、これは有効ですか? キャッシング ページの作成と変数の交換に使用するテンプレートシステムがあります。マスターテンプレートはデータベースに保存され、テンプレートが呼び出されるたびに、そのキャッシュコピー(htmlドキュメント)が呼び出されます。現在、これらのテンプレートには2つのタイプの変数があります。静的変数と動的変数です。静的変数は通常、ページ名、サイトの名前など、頻繁に変更されないものです。動的変数は、ページが読み込まれるたびに変化するものです。 これに関する私の質問: 別の記事についてコメントがあるとします。これがより良い解決策です:ページが読み込まれるたびにシンプルなコメントテンプレートを保存し、(DB呼び出しから)コメントをレンダリングするか、コメントページのキャッシュされたコピーをHTMLページとして保存します-コメントが追加/編集/削除されるたびにページが再キャッシュされます。 最後に PHPで高負荷のサイトを実行するためのヒント/ポインタはありますか?私はそれが使える実用的な言語だと確信しています-FacebookとYahoo! 優先順位を高くしますが、気を付けるべき経験はありますか?

12
「切り替え」は「if」より高速ですか?
switchステートメントは実際にはステートメントよりも高速ifですか? 以下のコードをVisual Studio 2010のx64 C ++コンパイラーで/Oxフラグを付けて実行しました。 #include <stdlib.h> #include <stdio.h> #include <time.h> #define MAX_COUNT (1 << 29) size_t counter = 0; size_t testSwitch() { clock_t start = clock(); size_t i; for (i = 0; i < MAX_COUNT; i++) { switch (counter % 4 + 1) { case 1: counter += …

12
C ++でバイナリファイルを非常に高速に書き込む
SSD(ソリッドステートドライブ)に大量のデータを書き込もうとしています。そして膨大な量とは80GBを意味します。 私は解決策を求めてウェブを閲覧しましたが、私が思いついたのはこれでした: #include <fstream> const unsigned long long size = 64ULL*1024ULL*1024ULL; unsigned long long a[size]; int main() { std::fstream myfile; myfile = std::fstream("file.binary", std::ios::out | std::ios::binary); //Here would be some error handling for(int i = 0; i < 32; ++i){ //Some calculations to fill a[] myfile.write((char*)&a,size*sizeof(unsigned long long)); } myfile.close(); …

8
System.currentTimeMillis()対new Date()対Calendar.getInstance()。getTime()
StackатотвопросестьответынаStack Overflowнарусском:Чтобыстрее-System.currentTimeMillis()илиDate()。getTime()? Javaでは、使用のパフォーマンスとリソースへの影響は何ですか System.currentTimeMillis() 対 new Date() 対 Calendar.getInstance().getTime() 私が理解しているようにSystem.currentTimeMillis()、最も効率的です。ただし、ほとんどのアプリケーションでは、人間にとって意味のある処理を行うために、その長い値をDateなどのオブジェクトに変換する必要があります。

13
いつバニラJavaScriptとjQueryを使用するのですか?
私は実際にすることができますことを、代わりにjQueryのは、JavaScriptを使用して、特定の慣行があることを、一般的なjQueryの質問に答えるためにしようと/監視しながら気づいたあまり書いてください ...よく同じ量を。また、パフォーマンス上の利点も得られます。 具体的な例 $(this) 対 this クリックされたオブジェクトIDを参照するクリックイベント内 jQuery $(this).attr("id"); Javascript this.id; このような他の一般的な方法はありますか?jQueryを混在させることなく、特定のJavaScript操作を簡単に実行できる場合。それともまれなケースですか?(実際にはより多くのコードが必要なjQueryの「ショートカット」) 編集:私はjQueryとプレーンJavaScriptのパフォーマンスに関する答えを高く評価していますが、実際にはもっと定量的な答えを探しています。 jQueryを使用しているときに、実際にを使用する代わりにプレーンJavaScriptを使用するほうがよい(読みやすさ/コンパクトさ)場合$()。元の質問で挙げた例に加えて。

17
JavaScriptで最速のMD5実装
そこには多くのMD5 JavaScript実装があります。誰がどれが最も高度で、最もバグ修正されており、最も速いか知っていますか? このツールに必要です。

1
C ++ 11を有効にするとstd :: vectorパフォーマンスが低下する
C ++ 11を有効にすると、小さなC ++スニペットで興味深いパフォーマンスの低下が見つかりました。 #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i < num_items; ++i) { container.push_back(Item()); } return 0; } g ++(GCC)4.8.2 20131219(プレリリース)とC ++ 03を使用すると、次のようになります。 milian:/tmp$ g++ -O3 main.cpp && …
235 c++  performance  gcc  c++11  vector 

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