SurgeWeb Performance

The SurgeWeb performance relative to webmail is very good. Here are some example statistics that are a month or two old but should still be mostly relevant. I'll update them at some stage soon.

Server side measurement

Individual serverside request duration on a real account with a moderate number of folders, all associated settings files, addressbook files etc. Tested on a server with a trivial disk and network io loading.

Action SurgeWeb Existing Webmail
Page refresh of inbox with 10 messages 390 ms with imap refresh
20 ms from surgeweb cache without imap refresh
Recheck mail with empty inbox 300 ms with imap refresh 1200ms
Very simple text message display 210 ms (with IMAP get)
13 ms (from surgeweb cache)
2600ms (with IMAP get)
1600ms (from webmail cache)
Get 10kb attachment part for already displayed message 7 ms 200ms
Folder with 10500 real messages first click: 3740ms (IMAP download of 200 msg)
background folder update (~60s for all 10500)
once all messages in index, next page: 400ms
       (or 1200ms with imap check of 100 msgs)
first click: 7500ms (IMAP dowload of 200msg)
many page refreshes later all are downloaded
once all messages in index, next page: 6900ms

Client side measurement

Client side bandwidth and response time measurements.

Note: Network characteristics: ADSL network connection with me in NZ and server in US. Server ping time 230ms. Downloads achievable of 200KB/s so no apparent network bottleneck getting hit.

First login large account (nothing in browser chache):

    SurgeWeb - already has inbox from imap, includes all js/css/audio for
            whole interface and twice as many messages as the webmail equivalent
        Ajax: 6.0 seconds; 12 requests; 49KB received
                            (image=9kb, css=3kb, html=4kb, js=30kb) 8kb sent
            + 1 request for inbox caching if enabled - for typical 100 messages
                       in surgemail support 60kb (expands to 350kb uncompressed)

    Webmail - already logged in before, already has inbox from imap
                            (300msg) 50 msg displayed on page
        Surge: 6.5 seconds; 7 requests; 70KB received
                            (image=3kb, css=5kb, html=50kb, js=12kb) 5kb sent
        Smooth: 21 seconds; 60 requests; 370 KB received
                            (image=10kb, css=15kb, html=223kb js=106kb) 40kb sent
        Panel: 12 seconds; 47 requests; 376 KB received
                            (image=40kb, html=293kb js=29kb) 38kb sent

Second login, same account (most things in permanent browser cache):

    SurgeWeb - already logged in before, already has inbox from imap
                            (300msg) 100 msg displayed on page
        Ajax: 2.5 seconds; 2 requests; 9kb received; 1kb sent

    Webmail - already logged in before, already has inbox from imap
                            (300msg) 50 msg displayed on page
        Surge: 2.2 seconds; 1 request; 49 KB received; 1kb sent
        Smooth: 10 seconds; 3 requests; 223 KB received; 3kb sent
        Panel: 6.2 seconds; 4 requests; 294 KB received, 4kb sent

Note 1: These were once off measurements to get an indication of surgeweb performance
Note 2: Since these measurements were taken the most signifcant thing that has changed is that the initial javascript download of the surgeweb Ajax interface has increased from 30kb to around 50kb.

Written late 2008, further measurements will be made in the near future as needed and as time permits.