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

ベンチマークとは、制御された状況下で2つ以上のシステムまたはプロセスを比較して、それらを比較またはランク付けするための定量的測定を行うプロセスです。ベンチマークタグは、ベンチマーク結果のリストやベンチマークデータのリクエストではなく、ベンチマークタスクまたは理論の質問を実行する方法に関する質問に使用する必要があります。これらの質問は、スタックオーバーフローではトピックから外れています。

10
C ++では、stdinからの行の読み取りがPythonよりもはるかに遅いのはなぜですか?
PythonとC ++を使用してstdinから文字列入力の行を読み取ることを比較したかったのですが、私のC ++コードが同等のPythonコードよりも桁違いに実行されるのを見てショックを受けました。私のC ++はさびており、私はまだPythonのエキスパートではないので、何か間違っているのか、何かを誤解しているのかどうか教えてください。 (TLDR回答:ステートメントを含める:cin.sync_with_stdio(false)またはfgets代わりに使用してください。 TLDRの結果:質問の一番下までスクロールして、表を見てください。) C ++コード: #include <iostream> #include <time.h> using namespace std; int main() { string input_line; long line_count = 0; time_t start = time(NULL); int sec; int lps; while (cin) { getline(cin, input_line); if (!cin.eof()) line_count++; }; sec = (int) time(NULL) - start; cerr << "Read …


11
Javaで正しいマイクロベンチマークを作成するにはどうすればよいですか?
OverаэтотвопросестьответынаStack Overflowнарусском:Какправильнописатьмикро-тестывJava? Javaで正しいマイクロベンチマークをどのように作成(および実行)しますか? 考えるべきさまざまなことを示すコードサンプルとコメントを探しています。 例:ベンチマークは、時間/反復または反復/時間を測定する必要がありますか?その理由は? 関連:ストップウォッチのベンチマークは受け入れられますか?

10
Javaで2 *(i * i)が2 * i * iより速いのはなぜですか?
次のJavaプログラムの実行には、平均で0.50秒から0.55秒かかります。 public static void main(String[] args) { long startTime = System.nanoTime(); int n = 0; for (int i = 0; i < 1000000000; i++) { n += 2 * (i * i); } System.out.println((double) (System.nanoTime() - startTime) / 1000000000 + " s"); System.out.println("n = " + n); } で置き換える2 * …

3
関数でPythonコードがより速く実行されるのはなぜですか?
def main(): for i in xrange(10**8): pass main() このPythonのコードは、以下で実行されます(注:タイミングは、LinuxのBASHのtime関数で実行されます)。 real 0m1.841s user 0m1.828s sys 0m0.012s ただし、forループが関数内に配置されていない場合、 for i in xrange(10**8): pass その後、より長い時間実行されます。 real 0m4.543s user 0m4.524s sys 0m0.012s どうしてこれなの?

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

7
Clang vs GCC-どちらがより良いバイナリを生成しますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する 私は現在GCCを使用していますが、最近Clangを発見し、切り替えについて考えています。ただし、決定的な要素が1つあります- gcc -O3生成されるバイナリの品質(速度、メモリフットプリント、信頼性)。 ClangはGCCよりも優れたコンパイル速度と低いコンパイル時のメモリフットプリントを誇りますが、結果として得られるコンパイル済みソフトウェアのベンチマーク/比較に本当に興味があります。

3
ABによる負荷テスト…偽の失敗したリクエスト(長さ)
自分の好奇心のために、サーバーで負荷テストを行うために実行しました。 ab -kc 50 -t 200 http://localhost/index.php これにより、200秒で50のキープアライブ接続が開かれ、index.phpのリクエストでサーバーがスラムします。 私の結果では、私は得ます: Concurrency Level: 50 Time taken for tests: 200.007 seconds Complete requests: 33106 Failed requests: 32951 (Connect: 0, Receive: 0, Length: 32951, Exceptions: 0) Write errors: 0 Keep-Alive requests: 0 Total transferred: 1948268960 bytes HTML transferred: 1938001392 bytes Requests per second: 165.52 …

15
Cプログラムの実行時間
複数のプロセッサーで並列実行することを目的としたCプログラムがあります。実行時間を記録できるようにする必要があります(1秒から数分の場合もあります)。私は答えを探しましたが、それらはすべて、clock()関数の使用を提案しているようです。この関数は、プログラムが取ったクロック数をClocks_per_second値で割って計算します。 Clocks_per_second値の計算方法がわかりません。 Javaでは、実行の前後に現在の時間をミリ秒単位で取得します。 Cにも同様のものはありますか?私は見ましたが、2番目の解像度よりも優れたものを得る方法を見つけることができないようです。 プロファイラーがオプションになることも知っていますが、タイマーを自分で実装することを検討しています。 ありがとう
209 c  benchmarking 

7
RedisはmongoDBよりどのくらい高速ですか?
Redisは「Blazing Fast」であり、mongoDBも高速であると広く言われています。しかし、私は2つの結果を比較する実際の数値を見つけるのに苦労しています。同様の構成、機能、および操作が与えられた場合(そして、異なる構成および操作で要因がどのように変化するかを示す場合など)、Redisは10倍高速、2倍高速、5倍高速ですか? 私はパフォーマンスについてのみ話します。mongoDBは別のツールであり、機能セットが豊富であることを理解しています。これは「MongoDB はRedis より優れている」という議論ではありません。RedisはmongoDBをどの程度上回っていますか? この時点では、安価なベンチマークであっても、ベンチマークがないよりはましです。

5
ab負荷テスト
Apacheベンチツール(ab)を使用してWebサイトの負荷テストを行うプロセスを誰かに教えてもらえますか? 以下について知りたい: サイトは1分あたり何人で処理できますか? これを理解するために実行する必要があるコマンドについて説明してください。 私はすべてのチュートリアルを試しましたが、それらは混乱しています。


4
MATLAB OOPは遅いですか、それとも何か問題がありますか?
私が試してるMATLAB OOP私はC ++のロガークラスを模倣し始めると、私はのようなものを行うことができることは素晴らしいことだろうと考え、Stringクラスにすべての私の文字列ヘルパー関数を入れているa + b、a == b、a.find( b )代わりにstrcat( a b )、strcmp( a, b )、strfind( a, b )などの最初の要素を取得します。 問題:減速 私は上記のものを使用して、急激な減速にすぐに気づきました。私はそれを間違っていますか? 私のテストケース これは私が文字列に対して行った簡単なテストです。基本的には文字列を追加し、追加された部分をもう一度削除します。 注:実際のコードでは、このようなStringクラスを実際に記述しないでください。Matlabにはネイティブのstring配列型があり、代わりにそれを使用する必要があります。 classdef String < handle .... properties stringobj = ''; end function o = plus( o, b ) o.stringobj = [ o.stringobj b ]; end function n = …

2
C ++の初期割り当てがCの割り当てよりもはるかに大きいのはなぜですか?
同じコードを使用する場合、コンパイラーを(CコンパイラーからC ++コンパイラーに)変更するだけで、割り当てられるメモリの量が変わります。これがなぜなのかよくわからないので、もっと理解したいと思います。これまでのところ、私が得た最良の応答は「おそらくI / Oストリーム」です。これはあまり説明的ではなく、C ++の「使用しないものにお金を払わない」という側面について疑問に思います。 ClangコンパイラとGCCコンパイラのバージョン7.0.1-8と8.3.0-6をそれぞれ使用しています。私のシステムは最新のDebian 10(Buster)で実行されています。ベンチマークはValgrind Massifを介して行われます。 #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } 使用されるコードは変更されませんが、CまたはC ++のどちらでコンパイルしても、Valgrindベンチマークの結果が変更されます。ただし、値はコンパイラ間で一貫しています。プログラムの実行時割り当て(ピーク)は次のようになります。 GCC(C):1,032バイト(1 KB) G ++(C ++):73,744バイト(〜74 KB) Clang(C):1,032バイト(1 KB) Clang ++(C ++):73,744バイト(〜74 KB) コンパイルには、次のコマンドを使用します。 clang -O3 -o c-clang ./main.c gcc -O3 -o c-gcc ./main.c clang++ -O3 -o cpp-clang ./main.cpp g++ -O3 …
138 c++  c  benchmarking 

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ほどかかりました。 もっと良い方法はありますか?

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