aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwachs <wachs@140774ce-b5e7-0310-ab8b-a85725594a96>2013-09-19 12:05:35 +0000
committerwachs <wachs@140774ce-b5e7-0310-ab8b-a85725594a96>2013-09-19 12:05:35 +0000
commit39d7ecb5740ea3f66d732f39c5cc3bbe358aae4d (patch)
tree48d5708ed716b8d3b037997cdbded09e56a1d5c7
parent2d2a5294ed6897a54df4faee76ae3819d8b90773 (diff)
added duration cmd line argument
git-svn-id: https://gnunet.org/svn/gnunet@29415 140774ce-b5e7-0310-ab8b-a85725594a96
-rw-r--r--src/ats-tests/perf_ats.c36
-rw-r--r--src/ats-tests/perf_ats.h4
2 files changed, 28 insertions, 12 deletions
diff --git a/src/ats-tests/perf_ats.c b/src/ats-tests/perf_ats.c
index b4ff92b954..c4689ad0c5 100644
--- a/src/ats-tests/perf_ats.c
+++ b/src/ats-tests/perf_ats.c
@@ -30,11 +30,6 @@
#include "gnunet_core_service.h"
#include "perf_ats.h"
-#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
-#define BENCHMARK_DURATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
-#define TESTNAME_PREFIX "perf_ats_"
-#define DEFAULT_SLAVES_NUM 3
-#define DEFAULT_MASTERS_NUM 1
#define TEST_ATS_PREFRENCE_FREQUENCY GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1)
#define TEST_ATS_PREFRENCE_START 1.0
@@ -139,7 +134,7 @@ static int num_masters;
/**
* Array of master peers
*/
-struct BenchmarkPeer *mps;
+static struct BenchmarkPeer *mps;
/**
* Number slave peers
@@ -148,7 +143,12 @@ static int num_slaves;
/**
* Array of slave peers
*/
-struct BenchmarkPeer *sps;
+static struct BenchmarkPeer *sps;
+
+/**
+ * Benchmark duration
+ */
+static struct GNUNET_TIME_Relative perf_duration;
/**
* Benchmark state
@@ -163,7 +163,7 @@ evaluate ()
unsigned int duration;
struct BenchmarkPeer *mp;
- duration = (BENCHMARK_DURATION.rel_value_us / (1000 * 1000));
+ duration = (perf_duration.rel_value_us / (1000 * 1000));
for (c_m = 0; c_m < num_masters; c_m++)
{
mp = &mps[c_m];
@@ -390,7 +390,7 @@ print_progress ()
progress_task = GNUNET_SCHEDULER_NO_TASK;
fprintf (stderr, "%llu..",
- (long long unsigned) BENCHMARK_DURATION.rel_value_us / (1000 * 1000) - calls);
+ (long long unsigned) perf_duration.rel_value_us / (1000 * 1000) - calls);
calls++;
progress_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
@@ -431,7 +431,7 @@ do_benchmark ()
if (GNUNET_SCHEDULER_NO_TASK != shutdown_task)
GNUNET_SCHEDULER_cancel (shutdown_task);
- shutdown_task = GNUNET_SCHEDULER_add_delayed (BENCHMARK_DURATION,
+ shutdown_task = GNUNET_SCHEDULER_add_delayed (perf_duration,
&do_shutdown, NULL );
progress_task = GNUNET_SCHEDULER_add_now (&print_progress, NULL );
@@ -1176,6 +1176,22 @@ main (int argc, char *argv[])
for (c = 0; c < (argc - 1); c++)
{
+ if (0 == strcmp (argv[c], "-d"))
+ break;
+ }
+ if (c < argc - 1)
+ {
+ if (GNUNET_OK != GNUNET_STRINGS_fancy_time_to_relative (argv[c + 1], &perf_duration))
+ fprintf (stderr, "Failed to parse duration `%s'\n", argv[c + 1]);
+ }
+ else
+ {
+ perf_duration = BENCHMARK_DURATION;
+ }
+ fprintf (stderr, "Running benchmark for %llu secs\n", (unsigned long long) (perf_duration.rel_value_us) / (1000 * 1000));
+
+ for (c = 0; c < (argc - 1); c++)
+ {
if (0 == strcmp (argv[c], "-s"))
break;
}
diff --git a/src/ats-tests/perf_ats.h b/src/ats-tests/perf_ats.h
index 01484b1f83..e2525a0daf 100644
--- a/src/ats-tests/perf_ats.h
+++ b/src/ats-tests/perf_ats.h
@@ -29,8 +29,8 @@
#include "gnunet_ats_service.h"
#include "gnunet_core_service.h"
-#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
-#define BENCHMARK_DURATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
+#define TEST_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
+#define BENCHMARK_DURATION GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
#define TESTNAME_PREFIX "perf_ats_"
#define DEFAULT_SLAVES_NUM 3
#define DEFAULT_MASTERS_NUM 1