performance - 为单个值存储两个相关哈希键的最佳方法

标签 performance perl memory hash

我有一个单一值的两个键,例如

( Foo, baa ) -> integer

我必须使用散列进行查找,因为这是一个大数据问题。

是将数据存储在哈希中的唯一方法

Foo -> integer
Baa -> integer 

?

此外,两个 Key 和 value 之间的关系不应该丢失.. e.g.获取或设置相关的整数值(对于 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};

但是存储引用就没有那么神奇了。

my $s = 123;
my %h = ( Foo => \$s );
$h{Baa} = $h{Foo};

${ $h{Baa} } = 456; say ${ $h{Foo} };
${ $h{Foo} } = 789; say ${ $h{Baa} };

关于performance - 为单个值存储两个相关哈希键的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19600949/

相关文章:

asp.net-mvc-3 - 多语言 asp.net mvc 3 的最佳方式

html - Firefox 3.5 "hangs"呈现 TABLE 时

linux - 安装 perl 模块 WWW::Curl 失败,无法链接 libcurl

javascript - 如何使用正则表达式匹配大多数非数字?

ios - 在 UIScrollView 的 subview 中绘制网格分配大量内存

linux - 当日志大小较大时,性能较低

python - 在 python 中测试矩阵元素的最快方法

perl - 如何将特殊字符转换为UTF-8?

php - 访问未定义数组索引导致的内存泄漏

memory - 我们可以在内核模块中使用 virt_to_phys 作为用户空间内存吗?