Algorithm-SkipList

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	- 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 )