Skip to content

Commit f43c0c0

Browse files
author
Matthias Radestock
committed
remove windows line endings, and try to get more consistent results
1 parent b362cf5 commit f43c0c0

File tree

1 file changed

+36
-40
lines changed
  • projects/examples/client/PerfTest/src/examples

1 file changed

+36
-40
lines changed

projects/examples/client/PerfTest/src/examples/PerfTest.cs

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@
5555
//
5656
//---------------------------------------------------------------------------
5757
using System;
58-
using System.Diagnostics;
58+
using System.Diagnostics;
5959
using System.Text;
6060

61-
using RabbitMQ.Client;
61+
using RabbitMQ.Client;
6262
using RabbitMQ.Client.MessagePatterns;
6363

6464
namespace RabbitMQ.Client.Examples {
@@ -76,48 +76,45 @@ public static int Main(string[] args) {
7676
string serverAddress = args[0];
7777
int messageCount = int.Parse(args[1]);
7878

79-
using (IConnection conn = new ConnectionFactory().CreateConnection(serverAddress))
80-
{
79+
using (IConnection conn =
80+
new ConnectionFactory().CreateConnection(serverAddress))
81+
{
8182
Stopwatch sendTimer = new Stopwatch();
82-
Stopwatch sendUnkeyedTimer = new Stopwatch();
8383
Stopwatch receiveTimer = new Stopwatch();
8484

85-
using (IModel receiveCh = conn.CreateModel()) {
86-
string q = receiveCh.QueueDeclare();
85+
using (IModel ch = conn.CreateModel()) {
86+
sendTimer.Start();
8787

88-
using (IModel sendCh = conn.CreateModel()) {
89-
sendTimer.Start();
90-
91-
for (int i = 0; i < messageCount; ++i) {
92-
sendCh.BasicPublish("", q, null, Message);
93-
}
88+
for (int i = 0; i < messageCount; ++i) {
89+
ch.BasicPublish("", "", null, Message);
9490
}
95-
sendTimer.Stop();
96-
97-
using (IModel sendCh = conn.CreateModel()) {
98-
sendUnkeyedTimer.Start();
99-
100-
for (int i = 0; i < messageCount; ++i) {
101-
sendCh.BasicPublish("", "", null, Message);
102-
}
103-
}
104-
sendUnkeyedTimer.Stop();
91+
}
92+
sendTimer.Stop();
10593

106-
QueueingBasicConsumer consumer = new QueueingBasicConsumer(receiveCh);
107-
receiveCh.BasicConsume(q, true, null, consumer);
108-
receiveTimer.Start();
109-
110-
for (int i = 0; i < messageCount; ++i) {
111-
consumer.Queue.Dequeue();
94+
using (IModel ch = conn.CreateModel()) {
95+
string q = ch.QueueDeclare();
96+
97+
for (int i = 0; i < messageCount + 1; ++i) {
98+
ch.BasicPublish("", q, null, Message);
99+
}
100+
//This ensures that all messages have been enqueued
101+
ch.BasicGet(q, true);
102+
103+
QueueingBasicConsumer consumer =
104+
new QueueingBasicConsumer(ch);
105+
receiveTimer.Start();
106+
ch.BasicConsume(q, true, null, consumer);
107+
108+
for (int i = 0; i < messageCount; ++i) {
109+
consumer.Queue.Dequeue();
112110
}
113-
receiveTimer.Stop();
114-
}
115-
116-
Console.WriteLine("Performance Test Completed");
117-
Console.WriteLine("Send (unkeyed): {0}Hz", ToHertz(sendUnkeyedTimer.ElapsedMilliseconds, messageCount));
118-
Console.WriteLine("Send: {0}Hz", ToHertz(sendTimer.ElapsedMilliseconds, messageCount));
119-
Console.WriteLine("Receive: {0}Hz", ToHertz(receiveTimer.ElapsedMilliseconds, messageCount));
120-
111+
receiveTimer.Stop();
112+
}
113+
114+
Console.WriteLine("Performance Test Completed");
115+
Console.WriteLine("Send: {0}Hz", ToHertz(sendTimer.ElapsedMilliseconds, messageCount));
116+
Console.WriteLine("Receive: {0}Hz", ToHertz(receiveTimer.ElapsedMilliseconds, messageCount));
117+
121118
return 0;
122119
}
123120
} catch (Exception e) {
@@ -126,9 +123,8 @@ public static int Main(string[] args) {
126123
}
127124
}
128125

129-
private static double ToHertz(long milliseconds, int messageCount) {
130-
double secsPerMessage = ((double) milliseconds)/((double) messageCount)/1000f;
131-
return 1/secsPerMessage;
126+
private static double ToHertz(long milliseconds, int messageCount) {
127+
return ((long)messageCount)*1000L/milliseconds;
132128
}
133129
}
134130
}

0 commit comments

Comments
 (0)