作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在浏览 GitHub 上一个流行存储库中的一些 Perl 代码。并使用此方法来计算散列的大小:
while ( my ($a, undef ) = each %h ) { $num++; }
$num = scalar keys %h;
my %h = (1 .. 1000);
cmpthese(-10, {
keys => sub {
my $num = 0;
$num = scalar keys %h;
},
whileloop => sub {
my $num = 0;
while ( my ($a, undef ) = each %h ) {
$num++;
}
},
});
keys
比while循环快得多。我的问题是:为什么原来的编码器会使用这么慢的方法?有什么我想念的吗?另外,有没有更快的方法?
最佳答案
我无法读懂可能编写那段代码的人的想法,但他/她可能认为:
my $n = keys %hash;
each
遍历所有内容使用更多内存.
scalar
除非您想在本来是列表上下文的内容中创建标量上下文。
关于perl - 确定 Perl 哈希大小时的内存/性能权衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800284/
我正在寻找想法/方向来解决我遇到的问题: 上下文:我有 1000 天的每小时时间序列数据(即每天 24 小时的一行特征)。对于每一个小时,我都试图预测一个目标值。现在,我更关心一天中某些时间的准确性(
我正在阅读有关 Scala 的 actor 的信息,所以假设我们有类似的内容: object Worker extends Actor { def act() { while(true)
在 Yii2 中,使用 Html::activeDropDownList,我可以以如下形式提交数据: 'multiple', 'class' => 'multiselect', ]
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
我正在研究潜在的免费/付费应用程序的硬件/软件要求(最终目标是移动 Java 应用程序)。 应用程序将从这个简单的目标开始:给定数据库中相关单词的列表,以便能够对单个字符串输入进行单词补全。 换句话说
我是一名优秀的程序员,十分优秀!