性能测量:消息传递延迟与线程同步程序解析
在计算机系统的性能评估中,消息传递延迟和线程同步是两个关键的指标。本文将详细介绍用于测量消息传递延迟的程序,以及不同线程同步技术的实现和性能测量方法。
1. 消息传递延迟程序
消息传递延迟是指发送一个小消息并接收其回复所需的时间。为了测量不同通信机制的延迟,我们将介绍几种不同的程序,包括管道、Posix消息队列、System V消息队列、Doors API和Sun RPC API的延迟测量程序。
1.1 管道延迟程序
管道是一种半双工的通信机制,因此需要两个管道来实现父子进程之间的双向通信。以下是测量管道延迟的程序:
void doit(int readfd, int writefd) {
char c;
write(writefd, &c, 1);
if (Read(readfd, &c, 1) != 1)
err_quit("read error");
}
int main(int argc, char **argv) {
int i, nloop, pipe1[2], pipe2[2];
char c;
pid_t childpid;
if (argc != 2)
err_quit("usage: latpipe <#loops>");
nloop = atoi(argv[1]);
Pipe(pipe1);
Pipe(pipe2);
if ((childpid = Fork()) == 0)
超级会员免费看
订阅专栏 解锁全文
597

被折叠的 条评论
为什么被折叠?



