diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-11-02 12:48:18 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2011-11-05 14:50:34 +0100 |
commit | ad0f2aa843232649166e0252e28b96c1736c5082 (patch) | |
tree | f3c482bacf328bf810674363f303f2de2cd27b50 /open_issues | |
parent | b8e9b554abc5281a7f532cea31cbd835f87ee25d (diff) |
Add lseek/mach testcases
Diffstat (limited to 'open_issues')
-rw-r--r-- | open_issues/performance/io_system/binutils_ld_64ksec.mdwn | 2 | ||||
-rw-r--r-- | open_issues/performance/io_system/test-lseek.c | 16 | ||||
-rw-r--r-- | open_issues/performance/io_system/test-mach.c | 18 |
3 files changed, 36 insertions, 0 deletions
diff --git a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn index 359d5fee..39d95349 100644 --- a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn +++ b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn @@ -47,4 +47,6 @@ IRC, freenode, #hurd, 2011-09-01: <youpi> (fgetpos actually, but that's the same) <youpi> and it is indeed about 10 times slower under Xen for some reason +Also see testcase [[test-lseek.c]] and [[test-mach.c]] + [[!tag open_issue_xen]] diff --git a/open_issues/performance/io_system/test-lseek.c b/open_issues/performance/io_system/test-lseek.c new file mode 100644 index 00000000..691e9d07 --- /dev/null +++ b/open_issues/performance/io_system/test-lseek.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#include <math.h> +#include <fcntl.h> +#include <unistd.h> +#include <sys/time.h> +int main(void) { + int fd = open("test.c", O_RDONLY); + struct timeval tv1, tv2; + int i; + gettimeofday(&tv1, NULL); + for (i = 0; i < 100000; i++) + lseek(fd, 0, SEEK_CUR); + gettimeofday(&tv2, NULL); + printf("%07lu\n", (tv2.tv_sec-tv1.tv_sec) * 1000000 + tv2.tv_usec - tv1.tv_usec); + return 0; +} diff --git a/open_issues/performance/io_system/test-mach.c b/open_issues/performance/io_system/test-mach.c new file mode 100644 index 00000000..44f62a4e --- /dev/null +++ b/open_issues/performance/io_system/test-mach.c @@ -0,0 +1,18 @@ +#define _GNU_SOURCE +#include <stdio.h> +#include <fcntl.h> +#include <mach/mach.h> +int main(void) { + struct timeval tv1, tv2; + int i; + task_t task; + task = mach_task_self(); + mach_port_urefs_t refs; + gettimeofday(&tv1, NULL); + for (i = 0; i < 1000000; i++) { + mach_port_get_refs(task, task, MACH_PORT_RIGHT_RECEIVE, &refs); + } + gettimeofday(&tv2, NULL); + printf("%07lu\n", (tv2.tv_sec-tv1.tv_sec) * 1000000 + tv2.tv_usec - tv1.tv_usec); + return 0; +} |