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