
Some rough benchmarks.

Database contents:

100,000 tracks
8,372 albums
3,006 artists
100,000 history entries

Peak DB size in memory: 25MB (after tracks added)
DB size on disk: 12MB (not including backup files)
DB size in memory: 14MB (having restarted AMPlay after adding the
tracks)

All tracks use pathname based naming. Default directory is set to the
longest portion of the path string that is common to all files.

Tests are:

startup time (ramdisk off)
startup time (ramdisk on)
name refresh
boundary refresh
sort
dbstats
export entire playlist
search path to all tracks for "tree"
open track history menu
complete state save (ramdisk off)
complete state save (ramdisk on)
'normal' state save (ramdisk off)
'normal' state save (ramdisk on)

options are:
sort/boundary checking is raw, case sensitive, space sensitive.
dynamic area limit is 32MB (default)
uniqueness is at 70%
history menu is the normal way up.
state backup is on.


Three versions tested:

compiled with ABC
crunched with StrongBS
verbose basic


All timings are in seconds, derived from the AMPlay log file, which
goes in the RAM disk. Logging is at a relatively low level, so the time
take to perform the logging is assumed negligible. State saves are done
after having done a sort, and therefore involve every file in the
state. A 'normal' state save is a save in the case where AMPlay has
started, been used to play tracks, and then quit. i.e. no track
additions or removals, no sort operation or boundary refresh etc. The
history will need saving, but not the track or path dbs.

                                       compiled    crunched    verbose
startup time (ramdisk off)             12.2         18.5        47.2
startup time (ramdisk on)               9.6         18.5        44.8
name refresh                           12.9         58.8       175.2
boundary refresh                        6.8         31.2       105.2
sort                                   67.1        114.2       295.9
dbstats                                 1.2         11.6        44.2
export                                  6.6          6.3         8.8
search                                 17.4         59.5       188.1
open history menu                       0.4          4.0        18.1
complete state save (ramdisk off)      19.8         23.8        26.8
complete state save (ramdisk on)        6.9          8.5        12.8
'normal' state save (ramdisk off)       0.6          1.6         5.2
'normal' state save (ramdisk on)        0.6          2.1         5.2

________________________________________________________________________
Copyright  2008 Mike Sandells, mike@mikejs.com
Last Modified: 30.05.2008
