NAME
Doubly::Linked::PP - linked lists
VERSION
Version 0.04
SYNOPSIS
use Doubly::Linked::PP;
my $list = Doubly->new();
$list->bulk_add(1..100000);
$list->data; # 1;
$list->length; # 100000;
$list = $list->end;
$list->data; # 100000;
$list->prev->data; # 99999;
BENCHMARK
use Benchmark qw(:all :hireswallclock);
use lib '.';
use Doubly::Linked::PP;
use Doubly;
my $r = timethese(100000, {
'Doubly::Linked::PP' => sub {
my $linked = Doubly::Linked::PP->new(123);
$linked->bulk_add(0..1000);
$linked = $linked->end;
$linked->is_end;
$linked = $linked->start;
$linked->is_start;
$linked->add(789);
},
'Doubly' => sub {
my $linked = Doubly->new(123);
$linked->bulk_add(0..1000);
$linked = $linked->end;
$linked->is_end;
$linked = $linked->start;
$linked->is_start;
$linked->add(789);
}
});
cmpthese $r;
...
Benchmark: timing 100000 iterations of Doubly, Doubly::Linked::PP...
Doubly: 2.87622 wallclock secs ( 2.58 usr + 0.30 sys = 2.88 CPU) @ 34722.22/s (n=100000)
Doubly::Linked::PP: 2.21881 wallclock secs ( 2.22 usr + 0.00 sys = 2.22 CPU) @ 45045.05/s (n=100000)
Rate Doubly Doubly::Linked::PP
Doubly 34722/s -- -23%
Doubly::Linked::PP 45045/s 30% --
SEE ALSO
AUTHOR
LNATION, <email at lnation.org>
BUGS
Please report any bugs or feature requests to bug-doubly-linked-pp at rt.cpan.org
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Doubly-Linked-PP. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Doubly::Linked::PP
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
This software is Copyright (c) 2025 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)