1gatling uses the io and iob interfaces from libowfat and thus exploits 2OS specific performance hacks on the following operating systems: 3 4 Linux 2.4: 5 O(1) event notification scalability through sigio 6 zero-copy TCP via sendfile 7 8 Linux 2.6: 9 O(1) event notification scalability through epoll 10 zero-copy TCP via sendfile 11 12 FreeBSD 4 and 5: 13 O(1) event notification scalability through kqueue 14 zero-copy TCP via sendfile 15 16 NetBSD 2: 17 O(1) event notification scalability through kqueue 18 zero-copy TCP via mmap+write 19 20 OpenBSD 3.4: 21 They have kqueue, but it's not O(1) 22 They don't have sendfile, and to my knowledge their mmap+write is 23 not zero-copy 24 25 HP-UX 11: 26 There were rumours of /dev/poll, but my test box didn't have it. 27 So we have O(n) event notification scalability through poll(2) 28 zero-copy TCP via sendfile 29 30 IRIX 6.5: 31 O(1) event notification scalability through /dev/poll 32 Rumour has it that mmap+write is zero-copy in IRIX. 33 I have no way of knowing, though 34 35 Solaris 9: 36 O(1) event notification scalability through /dev/poll 37 zero-copy TCP via sendfile 38 39 MacOS X: 40 Uses kqueue, but I haven't benchmarked it yet to see if it's O(1) 41 the headers in panther declare sendfile (protected with #if SENDFILE 42 (not #ifdef, #if!)), but libc doesn't have it, and neither does any 43 other library. 44 45 AIX: 46 AIX 5 has send_file. I am not aware of any way to speed up poll on 47 AIX. 48