<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">> под 5 секунд версия с map<br></div><div class="gmail_default" style="font-family:courier new,monospace">обычно же map строят заранее. В таком варианте grep будет быстрее.<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-25 13:00 GMT+02:00 Naim Sh via Moscow-pm <span dir="ltr"><<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Коллеги, столкнулся с тем что код такого вида , используемый для
поиска свободных ip v4 адресов на размерах 500-1000 элементов
отрабатывается под 5 секунд версия с map :<br>
<br>
my %ips = map { $_ => 1 } @ips;<br>
if (not exists($ips{$iponly} ))<br>
{<br>
return $iponly;<br>
}<br>
<br>
<br>
и с grep(sic!) ~2 секунду :<br>
<br>
if ( ! ( grep {$iponly eq $_ } @ips ) ) <br>
# spent 27.4ms making 814 calls to <a href="http://ironleg.azedunet.az/nytprof/NetAddr-IP-Lite-pm-197-line.html#1073" target="_blank">NetAddr::IP::Lite::broadcast</a>,
avg 34µs/call<br>
# spent 9.56ms making 814 calls to <a href="http://ironleg.azedunet.az/nytprof/NetAddr-IP-Lite-pm-197-line.html#266" target="_blank">NetAddr::IP::Lite::__ANON__[<wbr>NetAddr/IP/Lite.pm:268]</a>,
avg 12µs/call<br>
{<br>
return $iponly;<br>
}<br>
<br>
Еще трабла в том что легендарный List::Util отдает быстро но почему
не тот же результат( пробовал first , none ) что и grep? <br>
<br>
коллеги это нормально на более-менее среднем сервачке ? <br>
<br>
</div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Sergey</div>
</div>