These benchmarks were run on a single host with the following hardware
configuration:

    AMD Duron 800 MHz
    512 MB of RAM
    IBM-DTLA-307030 hard disk, 30 GB, dma enabled

The software configuration:

    Debian unstable updated just before running the benchmarks
    Postfix version 2.0.3 as the MTA, all mail delivered locally
    Linux kernel 2.4.18

The Bonnie hard disk benchmark tool reports the following:

Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
granny           1G  6315  81 23775  10 10449   6  7042  94 25485   9 183.2   0
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   774  99 +++++ +++ +++++ +++   774  99 +++++ +++  2089 100

hdparm -i /dev/hda reports the following:

    Model=IBM-DTLA-307030, FwRev=TX4OA60A, SerialNo=YKEYKKV0677
    Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
    RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=40
    BuffType=DualPortCache, BuffSize=1916kB, MaxMultSect=16, MultSect=16
    CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=60036480
    IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
    PIO modes:  pio0 pio1 pio2 pio3 pio4 
    DMA modes:  mdma0 mdma1 mdma2 
    UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
    AdvancedPM=yes: disabled (255) WriteCache=enabled
    Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:  2 3 4 5

For running the Enemies of Carlotta benchmark, the list
liw-list@granny.liw.iki.fi was created, and .forward and .procmailrc
were created to handle incoming mails, and to automatically confirm
any subscription requests. Messages sent to the list and subscription
confirmations were saved to an mbox file. They are available in the
EoC source tree, as is the eoc-benchmark script for running the actual
benchmark.

The benchmark has three variables:

    X is the number of initial subscribers on the list
    Y is the number of additional subscribers
    Z is the number of postings to send (to the initial X subscribers)

The eoc-benchmark script sets up the list with the initial subscribers,
then sends Z postings to the list, waits for processing to stop,
then sends Y subscriptions requests, and again waits for processing
to stop.

The benchmark was run once with the following set of variables:

    X = 1000
    Y = 1000
    Z = 1000
    
The first posting started delivery at Tue,  4 Mar 2003 13:38:08 +0200,
as reported in the oldest Received header of the message.

The last posting was delivered at Wed,  5 Mar 2003 00:54:14 +0200,
as reported in the youngest Received header of the message.

This gives a time of 40566 seconds to deliver all one million messages
(1000 messages to a list with 1000 subscribers), or about 25 messages
per second.

The first subscription confirmation message was delivered at
Wed,  5 Mar 2003 00:54:36 +0200. The last one was delivered at
Wed,  5 Mar 2003 01:10:06 +0200. This gives a time of 930 seconds
and a speed of 1 subscription transaction per second.
