all tests work the same way child is client, parent is a server CLIENT: sends comunique in format: [1][client's pid][dane] waits for data in format: [client's pid][?][dane] SERVER: waits for data in format: [1][pid][dane] and sends back data in format: [pid][server process pid][dane] data which server sends back, are the same, as it gets [but they're not in the same place in memory, they're intentionally copied to other place to make at least illusion, that there is some data 'analysis' ;)] -n parameter specifies number of sed, client is supposed to perform on each IPC mechanism sending it's simply client's sending time receiving is time of: receiving message by server + waiting for response + server's response for client's data for each IPC mechanism there are counted three times [both sending and receiving] minimal, average and maximal that were needed compile_linux generates two binaries, they differ only in one thing: linux1 - uses mq_timedreceive in posix queues tests linux2 - uses mq_receive and O_NONBLOCK flag in posix queues tests program tested on: [+] SunOS 5.8 Generic_117350-08 [ultra60.mat.uni.torun.pl] [+] linux 2.6.9 + glibc with mqueues [sxterm] [+] linux 2.6.8 + libmqueue [gimlandia] [+] linux 2.4.25 (without posix queues) [staszek] in shared memory tests, program DOESN'T use semaphores