1- See also BENCHMARKS
2
3This FTPd should be very performant. The reasons for this are below, followed
4by specific benchmarks as and when I get them.
5
61) Generally, it is a fairly minimal FTPd. There should not be much code and/or
7syscall bloat.
8
92) For binary downloads, Linux sendfile() is used. This is a lot lighter on
10CPU/syscall usage than your regular read()/write() loop.
11
123) The "ls" command is fully internal. That is to say, an external "ls" command
13does not need to be launch. Launching an external process is costly because
14of the fork(), exec(), ELF loader startup, etc.
15
16
17It is not all good news, of course. Potential sources of poor performance
18include
19
201) Overhead of two processes per session (in some common configurations).
21
222) Excessive heap usage hidden behind the string API.
23
24
25BENCHMARKS
26==========
27
281) vsftpd downloads ASCII data at at least twice the rate of wu-ftpd.
29
302) vsftpd has achieved 86Mbyte/sec download over Gigabit ethernet between
31Linux-2.4.x boxes (thanks to sendfile())
32
333) vsftpd has smaller virtual memory usage (and RSS, it seems)
34
354) Various reports have trickled in and indicate that vsftpd thumps wu-ftpd
36in performance tests.
37
38