[Moscow.pm] map vs foreach

Andrey Kovbovich akovbovich на gmail.com
Ср Дек 2 15:24:20 PST 2015


Если левы с аккумулятором в виде массива:

3 декабря 2015 г., 1:25 пользователь Akzhan Abdulin <
akzhan.abdulin на gmail.com> написал:

> Кстати, прямой аналог почти - use List::Util qw( reduce );
>
> 2 декабря 2015 г., 16:40 пользователь Akzhan Abdulin <
> akzhan.abdulin на gmail.com> написал:
>
> вообще-то это типичный accumulate (в ruby - inject).
>>
>> тут map имеет смысл, ибо используется возвращаемое значение (и вообще -
>> это единственный надежный критерий).
>>
>> 2 декабря 2015 г., 15:28 пользователь Гришаев Анатолий <
>> agrishaev на gmail.com> написал:
>>
>> А как бегущую сумму считать без map? for тут явно избыточен.
>>> my $sum = 0;
>>> @running_sum = map { $sum+= $_ } @item?
>>>
>>> 2 декабря 2015 г., 2:03 пользователь Akzhan Abdulin <
>>> akzhan.abdulin на gmail.com> написал:
>>>
>>> код должен отражать его логику. поэтому использование map - явный вред.
>>>>
>>>> 26 ноября 2015 г., 6:39 пользователь Anatoly Y <iskhartakh на gmail.com>
>>>> написал:
>>>>
>>>> Иисуси, да тебя самого впору цитировать! Браво! )
>>>>>
>>>>> 2015-11-25 22:45 GMT+06:00 Andrey Kovbovich <akovbovich на gmail.com>:
>>>>>
>>>>>> Перефразируя тезис Черча-Тьюринга, любая вычислимая функция также
>>>>>> вычислима на устройстве Тьюринга. Собственно функция map и оператор for
>>>>>> эквивалентны. Предполагается что map не производит эффектов имея
>>>>>> функциональную природу, for напротив работает непосредственно изменяя
>>>>>> данные в памяти. То есть map он больше в контексте pipes and filters, где
>>>>>> исходные данные иммутабнльны.
>>>>>> 25 нояб. 2015 г. 2:09 PM пользователь "Ilya Chesnokov" <
>>>>>> chesnokov.ilya на gmail.com> написал:
>>>>>>
>>>>>> 25 ноября 2015 г., 15:31 пользователь Ivan Petrov
>>>>>>> <i.petro.77.00 на gmail.com> написал:
>>>>>>> >> Ни фига подобного. Посыл верный. Если сомневаешься - делай
>>>>>>> бенчмарки.
>>>>>>> >> Другое дело что писать их надо конкретно под свои кейсы и не
>>>>>>> обращать
>>>>>>> >> внимания на “несколько быстрее”.
>>>>>>> >
>>>>>>> > в нашем мире скорость работы кода вещь конечно важная, но
>>>>>>> вторичная.
>>>>>>> > первичная вещь - это скорость/возможность работы С кодом.
>>>>>>> >
>>>>>>> > людей с базовыми парадигмальными нарушениями я бы на работу не
>>>>>>> брал.
>>>>>>> > не смотря на то, что нарушения в парадигмах иногда дают более
>>>>>>> быстрый
>>>>>>> > код.
>>>>>>>
>>>>>>> Это уже Ваши личные выводы. Спасибо, что поделились, но они мало
>>>>>>> относятся к изначальному вопросу:
>>>>>>>
>>>>>>> > Вопрос в том,  какие есть подводные камни  второго метода и какой
>>>>>>> из методов быстрее и оптимальнее по памяти (обрабатывается большое
>>>>>>> количество текста в каждом элементе)
>>>>>>>
>>>>>>> ТС, имейте в виду - если будете использовать map вместо for, и
>>>>>>> наоборот, Ivan Petrov Вас на работу не возьмет. Это к вопросу о
>>>>>>> подводных камнях.
>>>>>>>
>>>>>>> А для измерения скорости используйте бенчмарк / профайлинг с
>>>>>>> реальными
>>>>>>> данными на реальном железе.
>>>>>>>
>>>>>>> > --
>>>>>>> > Moscow.pm mailing list
>>>>>>> > moscow-pm на pm.org | http://moscow.pm.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Ilya Chesnokov
>>>>>>> --
>>>>>>> Moscow.pm mailing list
>>>>>>> moscow-pm на pm.org | http://moscow.pm.org
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Moscow.pm mailing list
>>>>>> moscow-pm на pm.org | http://moscow.pm.org
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Moscow.pm mailing list
>>>>> moscow-pm на pm.org | http://moscow.pm.org
>>>>>
>>>>>
>>>>
>>>> --
>>>> Moscow.pm mailing list
>>>> moscow-pm на pm.org | http://moscow.pm.org
>>>>
>>>>
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org | http://moscow.pm.org
>>>
>>>
>>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20151203/f0646db1/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm