diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2011-11-05 23:19:34 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-11-05 23:19:34 +0100 |
commit | 4cc3f682fb57a920e3cc14e99323d66e380c1ee7 (patch) | |
tree | a229f63ded16b837b11b5ca73c568380d793efe0 /open_issues/xen_lseek | |
parent | ba985e9b5f15933e9b8c33d63cf903972c75e913 (diff) |
open_issues/performance/io_system/binutils_ld_64ksec: Move Xen lseek stuff...
open_issues/xen_lseek: ... here.
Diffstat (limited to 'open_issues/xen_lseek')
-rw-r--r-- | open_issues/xen_lseek/test-lseek.c | 17 | ||||
-rw-r--r-- | open_issues/xen_lseek/test-mach.c | 19 |
2 files changed, 36 insertions, 0 deletions
diff --git a/open_issues/xen_lseek/test-lseek.c b/open_issues/xen_lseek/test-lseek.c new file mode 100644 index 00000000..667dce66 --- /dev/null +++ b/open_issues/xen_lseek/test-lseek.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include <math.h> +#include <fcntl.h> +#include <unistd.h> +#include <sys/time.h> +#define N 100000 +int main(void) { + int fd = open("test.c", O_RDONLY); + struct timeval tv1, tv2; + int i; + gettimeofday(&tv1, NULL); + for (i = 0; i < N; i++) + lseek(fd, 0, SEEK_CUR); + gettimeofday(&tv2, NULL); + printf("%fµs\n", (float)((tv2.tv_sec-tv1.tv_sec) * 1000000 + tv2.tv_usec - tv1.tv_usec)/N); + return 0; +} diff --git a/open_issues/xen_lseek/test-mach.c b/open_issues/xen_lseek/test-mach.c new file mode 100644 index 00000000..90337346 --- /dev/null +++ b/open_issues/xen_lseek/test-mach.c @@ -0,0 +1,19 @@ +#define _GNU_SOURCE +#include <stdio.h> +#include <fcntl.h> +#include <mach/mach.h> +#define N 1000000 +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 < N; i++) { + mach_port_get_refs(task, task, MACH_PORT_RIGHT_RECEIVE, &refs); + } + gettimeofday(&tv2, NULL); + printf("%fµs\n", (float)((tv2.tv_sec-tv1.tv_sec) * 1000000 + tv2.tv_usec - tv1.tv_usec)/N); + return 0; +} |