blob: 903373465b142d37a36e4d3e9a9f3d9acdcc0a6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
}
|