
PERFORMANCE
    An unscientific comparison of module performance for List::SkipList
    against other pure-Perl modules, using Benchmark.pl:

                             Ordered  Reversed Random          Failed
      Module        Version  Inserts  Inserts  Inserts  Finds  Finds

      List::SkipList  0.61     3.70     2.93     4.10    3.11    3.30
      Tree::RedBlack  0.3      6.24     6.15     3.80    2.99    3.05
      Tree::Smart     0.01     3.59     3.61    16.86   14.62   13.47
      Tree::Ternary   0.03    12.13    11.84     9.98    4.21    2.19

    Numbers in seconds per 10,000 operations on a set of randomly generated
    keys on a machine running Windows XP Professional, Pentium III 795 MHz,
    320 MB RAM, using ActiveState Perl 5.8.3.809.

MEMORY USAGE
    Comparison of memory usage of objects before and after inserting
    10,000 keys using the Devel::Size module version 0.58:

      Module        Version    Before       After

      List::SkipList  0.61      2,345     2,630,065
      Tree::RedBlack  0.3         N/A           N/A
      Tree::Smart     0.01        171     2,970,427
      Tree::Ternary   0.03        136    83,942,412

DETAILS
    Some of the modules in the comparison are very early versions, and
    may not be well optimized.

    It can be argued that this comparison is more about optimizations
    of Perl code than of algorithms.

    Deletions are not shown in the above table because not all modules
    support deletions.  (For List::SkipList, 4.43; for Tree::Smart,
    1.29.)
 
    Some differences should be noted for each module:

List::SkipList
    Skip lists use a non-deterministic (randomized) algorithm, so
    numbers will vary between runs.

Tree::RedBlack
    Devel::Size was unable to obtain useful numbers from the object.
    It claimed that after 10,000 inserted keys only 292 bytes were
    used.

    In running Benchmark.pl with tests for the modules Tree::Smark and
    Tree::Ternary commented out, Tree::RedBlack showed a noticeable
    improvment.

Tree::Smart
    Uses splay trees, which optimize themselves based on which nodes
    one uses most often.


