Algorithm-ConsistentHash-Ketama
view release on metacpan or search on metacpan
This was discovered "in the wild" in a system that deals with
billions of keys, htese keys just so happened to trigger a
segfault in the library due to how the binary search works.
0.00010 - Mar 1 2013
- No code change. Just a re-release of 0.00009
0.00009 - Oct 20 2012
- No code change
- Upgrade to Module::Install 1.06
(see http://weblog.bulknews.net/post/33907905561/do-not-ship-modules-with-module-install-1-04)
0.00008 - May 15 2012
* Add hash_with_hashnum(), label_from_hashnum(). This allows clients to
cache the hashed values -- thus avoiding the need to recompute the
MD5 hash. However, you should make sure you know what you're doing
before using these (Steffen Mueller)
(https://github.com/lestrrat/Algorithm-ConsistentHash-Ketama/pull/1)
0.00007 - Jun 3 2010
* How about actually using ppport.h?
inc/Module/Install/Makefile.pm view on Meta::CPAN
XS => 'HASH',
# VERSION => ['version',''], # ignore
# _KEEP_AFTER_FLUSH => '',
clean => 'HASH',
depend => 'HASH',
dist => 'HASH',
dynamic_lib=> 'HASH',
linkext => 'HASH',
macro => 'HASH',
postamble => 'HASH',
realclean => 'HASH',
test => 'HASH',
tool_autosplit => 'HASH',
# special cases where you can use makemaker_append
CCFLAGS => 'APPENDABLE',
DEFINE => 'APPENDABLE',
INC => 'APPENDABLE',
LDDLFLAGS => 'APPENDABLE',
LDFROM => 'APPENDABLE',
inc/Module/Install/Makefile.pm view on Meta::CPAN
sub fix_up_makefile {
my $self = shift;
my $makefile_name = shift;
my $top_class = ref($self->_top) || '';
my $top_version = $self->_top->VERSION || '';
my $preamble = $self->preamble
? "# Preamble by $top_class $top_version\n"
. $self->preamble
: '';
my $postamble = "# Postamble by $top_class $top_version\n"
. ($self->postamble || '');
local *MAKEFILE;
open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!";
eval { flock MAKEFILE, LOCK_EX };
my $makefile = do { local $/; <MAKEFILE> };
$makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
$makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
$makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
$makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;
inc/Module/Install/Makefile.pm view on Meta::CPAN
#$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m;
# Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well.
$makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g;
# XXX - This is currently unused; not sure if it breaks other MM-users
# $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg;
seek MAKEFILE, 0, SEEK_SET;
truncate MAKEFILE, 0;
print MAKEFILE "$preamble$makefile$postamble" or die $!;
close MAKEFILE or die $!;
1;
}
sub preamble {
my ($self, $text) = @_;
$self->{preamble} = $text . $self->{preamble} if defined $text;
$self->{preamble};
}
sub postamble {
my ($self, $text) = @_;
$self->{postamble} ||= $self->admin->postamble;
$self->{postamble} .= $text if defined $text;
$self->{postamble}
}
1;
__END__
#line 544
( run in 0.959 second using v1.01-cache-2.11-cpan-ceb78f64989 )