|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : John Lepikhin 2:5070/156 14 Mar 2002 13:56:28 To : All Subject : оптимизировать код -------------------------------------------------------------------------------- Есть строка синбаев: $packed = '5020/1 2 5070/3 4 5'. Требуется разодрать ее в хэш хэшей такого вида: $seen{5020}{1} = 1; $seen{5020}{2} = 1; $seen{5070}{3} = 1; $seen{5070}{4} = 1; $seen{5070}{5} = 1; Требуется делать это на приличных скоростях, поэтому регэкспы и прочее отпадают. Максимальных скоростей смог добиться лишь совсем не перловыми методами: foreach (split / /, $packed) { $pos = index ($_, '/'); if ($pos != -1) { $host = substr ($_, 0, $pos); $node = substr ($_, $pos+1); $seen{$host}{$node}=1; } else { $seen{$host}{$_}=1; } } Есть мысли по оптимизации? -- ... [лесные компьютерщики] -LNXuser 208417- --- Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) * Origin: A poorly-installed InterNetNews site (2:5070/156) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/35951a9be4d7b.html, оценка из 5, голосов 10
|