Привет
берем Net::Patricia и переписываем код на неё. Radix Tree рулит!

On 25.11.2016 14:00, Naim Sh via Moscow-pm wrote:
Коллеги, столкнулся с тем что код такого вида , используемый для поиска свободных ip v4 адресов на размерах 500-1000 элементов отрабатывается под 5 секунд версия с map :

my %ips = map { $_ => 1 } @ips;
if (not exists($ips{$iponly} ))
{
        return $iponly;
}


 и с grep(sic!) ~2 секунду :

if ( ! ( grep {$iponly eq $_ } @ips ) )
# spent 27.4ms making 814 calls to NetAddr::IP::Lite::broadcast <http://ironleg.azedunet.az/nytprof/NetAddr-IP-Lite-pm-197-line.html#1073>, avg 34µs/call # spent 9.56ms making 814 calls to NetAddr::IP::Lite::__ANON__[NetAddr/IP/Lite.pm:268] <http://ironleg.azedunet.az/nytprof/NetAddr-IP-Lite-pm-197-line.html#266>, avg 12µs/call
{
    return $iponly;
}

Еще трабла в том что легендарный List::Util отдает быстро но почему не тот же результат( пробовал first , none ) что и grep?

коллеги это нормально на более-менее среднем сервачке ?




-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить