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