Algorithm-SkipList
view release on metacpan or search on metacpan
- commented-out call to prev() in _debug
- removed use of Carp::Assert in tests
- redesigned benchmark script and included parse-out.pl
- updated Benchmark.txt
- updated README
0.63 Fri May 28 2004
- The default value of P is now 0.25, which appears to yield
better results in tests.
* renamed _random_level to _new_node_level
- SIZE_THRESHOLD/SIZE_LEVEL now decrease with deletions
- additional minor optimizations and code cleanup
- optimizations of Header and Null node types
- updated tests
- Benchmark: re-commented-out delete test for Tree::RedBlack
(which was accidentally uncommented in v0.62)
0.62 Tue May 18 2004
- fixed typo in (commented-out) assertion
- additional minor optimizations and code cleanup
- updated tests
- corrected README
0.61 Mon May 17 2004
* find no longer returns a finger in array context
* header is now a special subclass of List::SkipList::Node
- added special Null subclass of Header
- added null() method to return global null node
- a lot of minor code optimizations
- added comments
- maximum level of new nodes changed so that it is based on size
of list
- updated Benchmark.txt file
0.60 Sat Apr 24 2004
- updates to POD
- cleaned up comments
- added next function
- redid last_key, first_key and next_key functions
- last_key accepts arguments to modify LASTKEY
- changed calls to die to croak
- added experimental hooks to implement prev and prev_key methods
- added stub prev_key method
- bug fix: reset method called during copy method
- added more tests to heavy test script
* renamed find to find_with_finger and added find for searches
which do not return updated fingers
* renamed _search to _search_with_finger and added _search for
searches which do not return updated fingers
- modified next_key test to check for initial key of "0"
- removed if (CACHE_INSERT_FINGERS) tests
- additional optimizations and code cleanup
- added test to search for non-existent keys in Benchmark.pl
0.51 Mon Apr 12 2004
- fixed bug with next_key method called without first_key
- added tests for this bug
- added "heavy" test to distribution
- minor optimizations of delete method
- assertions are no longer required (which leads to ~3% speedup)
and removed section in POD about assertions
- removed commented-out references to forward method
- minor updates to source code comments
0.50 Mon Mar 29 2004
- section about Assertions added to POD
- documented level() method
- clear method now intitializes initial node header
- added various assertions
* removed the forward method from *::Node
- uses enum module
- added test for non-integer keys
- clear method now resets LAST_INSRT cache
- removed use of LEVEL for List::SkipList::Node
* key_cmp method accesses KEY directly rather than uses the key method
* calling convention for List::SkipList::Node is changed
- various optimizations to List::SkipList and *::Node
- added comparison to Tree::RedBlack in Benchmark.pl
- minor changes to _search method
- added Benchmark.pl script for generating benchmarks in distro
- redesigned benchmarking script
0.42 Sat Mar 20 2004
- fixed bug with Build.PL not autospliting files
0.41 Fri Mar 19 2004
* List::SkipList::Node is now array-based rather than hash-based
to improve speed.
- updates to POD, README, Benchmark.txt
- added search method as alias to find
- renamed Benchmark to Benchmark.txt
- optimized deletions
0.40 Wed Mar 17 2004
- added Benchmark file to distribution
* key_cmp now ignores when key is undefined
- _insert returns the value of $node->key_cmp($key)
- broke up test cases into separate files
- added finger caching to speed up sequential inserts
- fixed bugs with values, keys, copy, merge, first_key and next_key
methods related to use of search fingers
- fixed bug with append method
- fixed bug with search fingers: they were not being used
- _debug now prints to STDERR
* reset method is not called when a new node is added or deleted
(which is in accord with documentation)
- stub for next method added
- List::SkipList::Node ignores invalid and extra arguments
- minor optimizations in List::SkipList and List::SkipList::Node
- improved speed of _random_level
- disabled assertions (for 50% speed improvement!)
- inserted corrected comment in README about actual performance in
comparison to trees
0.33 Tue Mar 16 2004
- fixed typos in test cases that caused Makefile tests to fail
- removed causes of warnings in 01-SkipList.t
- replaced explicit package names with __PACKAGE__ placeholder
0.32 Mon Mar 15 2004
- renamed test.pl to t/01-SkipList.t
- added Build.PL to distribution
- updated README
- corrected and updated POD
0.31 Fri Feb 13 2004
( run in 1.123 second using v1.01-cache-2.11-cpan-39bf76dae61 )