我有一些代碼,在一部分會得到很多執行,我很奇怪哪種方式是更有效的實現。我會用一個for循環來模擬部分被很多執行:Perl中的字符串比較或哈希查找更快嗎?
選項A:
my %sections = (
'somestring1' => 1,
'somestring2' => 1,
'somestring3' => 1,
'somestring4' => 1
);
for (0..10000)
{
# $element is chosen at random
$namespace = $element if $sections{$element};
}
選項B:
for (0..10000)
{
# $element is chosen at random
$namespace = $element if ($element eq'somestring1' ||
$element eq'somestring2' ||
$element eq'somestring3' ||
$element eq'somestring4');
}
能
任何基準這樣或知道答案,因爲我不熟悉基準測試工具。
這段代碼在這種情況下可能沒有意義,但它實際上是我需要使用的。
首先讓它運行,然後讓它快速。 –