m3t*_*3ta 3 memory perl hash performance
我有一个单一值的两个键,例如
( Foo, baa ) -> integer
Run Code Online (Sandbox Code Playgroud)
我必须使用散列进行查找,因为它是一个大数据问题.
是将数据存储在Hash中的唯一方法
Foo -> integer
Baa -> integer
Run Code Online (Sandbox Code Playgroud)
?
此外,两个Keys之间的关系和值不应该丢失.例如,获取或设置相关的整数值(对于Foo和Baa)
use Data::Alias qw( alias );
my %h = ( Foo => 123 );
alias $h{Baa} = $h{Foo};
$h{Baa} = 456; say $h{Foo};
$h{Foo} = 789; say $h{Baa};
Run Code Online (Sandbox Code Playgroud)
但是存储引用并不那么神奇.
my $s = 123;
my %h = ( Foo => \$s );
$h{Baa} = $h{Foo};
${ $h{Baa} } = 456; say ${ $h{Foo} };
${ $h{Foo} } = 789; say ${ $h{Baa} };
Run Code Online (Sandbox Code Playgroud)