summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/benchmarks.h
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2011-08-29 20:13:24 +0300
committerAris Adamantiadis <aris@0xbadc0de.be>2011-09-02 11:43:07 +0300
commitb11567ed9bf47688369fec2cf4884082790c43c4 (patch)
tree700006c8f0881b2b649da182f36f3f42b2805dda /tests/benchmarks/benchmarks.h
parentfaaf334aa38a0a71894f78eb20d6c39e5e34f79e (diff)
downloadlibssh-b11567ed9bf47688369fec2cf4884082790c43c4.tar.gz
libssh-b11567ed9bf47688369fec2cf4884082790c43c4.tar.xz
libssh-b11567ed9bf47688369fec2cf4884082790c43c4.zip
benchmarks: refactoring + sync sftp tests
no surprise, sync sftp is much slower, even for localhost, especially for download.
Diffstat (limited to 'tests/benchmarks/benchmarks.h')
-rw-r--r--tests/benchmarks/benchmarks.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/benchmarks/benchmarks.h b/tests/benchmarks/benchmarks.h
index ffa1bfa..4aba143 100644
--- a/tests/benchmarks/benchmarks.h
+++ b/tests/benchmarks/benchmarks.h
@@ -32,18 +32,30 @@
enum libssh_benchmarks {
BENCHMARK_RAW_UPLOAD=0,
BENCHMARK_RAW_DOWNLOAD,
+ BENCHMARK_SCP_UPLOAD,
+ BENCHMARK_SCP_DOWNLOAD,
+ BENCHMARK_SYNC_SFTP_UPLOAD,
+ BENCHMARK_SYNC_SFTP_DOWNLOAD,
BENCHMARK_NUMBER
};
struct argument_s {
const char *hosts[MAX_HOSTS_CONNECT];
- char benchmarks[BENCHMARK_NUMBER];
int verbose;
int nhosts;
int ntests;
int data;
};
+typedef int (*bench_fct)(ssh_session session, struct argument_s *args,
+ float *bps);
+
+struct benchmark {
+ const char *name;
+ bench_fct fct;
+ int enabled;
+};
+
/* latency.c */
struct timestamp_struct {
@@ -63,4 +75,17 @@ int benchmarks_raw_up (ssh_session session, struct argument_s *args,
int benchmarks_raw_down (ssh_session session, struct argument_s *args,
float *bps);
+/* bench_scp.c */
+
+int benchmarks_scp_up (ssh_session session, struct argument_s *args,
+ float *bps);
+int benchmarks_scp_down (ssh_session session, struct argument_s *args,
+ float *bps);
+
+/* bench_sftp.c */
+
+int benchmarks_sync_sftp_up (ssh_session session, struct argument_s *args,
+ float *bps);
+int benchmarks_sync_sftp_down (ssh_session session, struct argument_s *args,
+ float *bps);
#endif /* BENCHMARKS_H_ */