Каковы некоторые впечатляющие примеры функционального кода?

Получили эти результаты с помощью приведенной ниже команды, 10 000 итераций.

.add() взял 0s 45.2869ms

+= взял 2s 900.2777 ms

Measure-Command -Expression {
    $i = 0
    $myArrayList = New-Object System.Collections.ArrayList
    Do {
        #$myArrayList.add($i)
        $myArrayList += $i
        $i++
    } While ($i -lt 10000)
}
10
задан twk 8 February 2009 в 02:43
поделиться

7 ответов

Это (долго, но очень хороший) видео дает и введение F# и востребованную демонстрацию того, как легкий это должно параллелизировать код на языке:

http://channel9.msdn.com/pdc2008/TL11/

4
ответ дан 3 December 2019 в 23:15
поделиться

Как насчет MapReduce? Это невероятно parallelizable и даже при том, что это не реализовано на функциональных языках насколько бумага идет, это вдохновлено Lisp map и reduce.

6
ответ дан 3 December 2019 в 23:15
поделиться

LINQ является хорошим примером функционального программирования на основных языках. Овеществленный код и монады? В МОЕМ C#?:) Так или иначе, w.r.t. поточная обработка, существует упоминание о Параллельном LINQ. При помощи неизменности и функций высшего порядка (и Выражение, возможно), библиотеки могут параллелизировать вещи для нас.

И другая ссылка на F# с асинхронными рабочими процессами. То, что является впечатляющим, является способностью взять синхронизирующий код, и с несколькими маленькими аннотациями превращают его в асинхронный код. Код сохраняет много обязательных качеств, которые Вы могли бы использовать. Вы не должны полностью изменять вещи использовать в своих интересах это; компилятор через дескрипторы все это.

1
ответ дан 3 December 2019 в 23:15
поделиться
0
ответ дан 3 December 2019 в 23:15
поделиться

Ваш вопрос просит имущественное право в состоянии. Я думаю, что Ваше лучшее введение в это поле, с примерами, является книгой Неявное Параллельное программирование в pH Nikhil и Arvind.

2
ответ дан 3 December 2019 в 23:15
поделиться

Существует расширенный пример текстового индексатора/искателя с помощью mapreduce в Главе 20 ("Программирующий Многоядерные центральные процессоры") Программирования Erlang. Я не знаю, как впечатляющий то есть, но похоже, что смертные кода могут записать.

1
ответ дан 3 December 2019 в 23:15
поделиться

Мой учитель раньше шутил, что самым большим примером функционального кода является код, который не написан.

0
ответ дан 3 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: