Haskell и эффективная обработка изображений

 
0
 
Functional languages
ava
afiskon | 13.06.2011, 16:47
Если не ошибаюсь, на хаскеле должны получаться эффективные фильтры, взломщики капч и так далее. С аудио/видео он, наверное, тоже неплох, но меня пока интересуют картинки. На что нужно обратить внимание при работе с графикой в Haskell при условии приоритета скорости обработки данных? Есть ли какой-то выигрыш в плане скорости у библиотек, отличных от биндинга GD? Кто вообще пробовал что-то делать в этой области и что посоветует?
Comments (6)
ava
k0rvin | 14.06.2011, 01:05 #
С чего Вы это взяли?
ava
afiskon | 14.06.2011, 04:53 #
Автоматическое распараллеливание некоторых операций (map, чистая функция f(a,b)) имеет место быть или я заблуждаюсь на этот счет? Если имеет, то какое-нибудь преобразование из цветного в черно-белое или выделение контуров должно выполняться быстрее, чем на C++.
ava
k0rvin | 15.06.2011, 07:06 #
это только в теории, но на практике автоматическое распараллеливание еще нигде не реализовано, насколько я знаю
ava
afiskon | 15.06.2011, 07:38 #
Похоже, вы ошибаетесь:
Цитата


Parallel evaluation of expressions using multiple CPU cores. This does not require explicitly spawning threads. The distribution of work happens implicitly, based on annotations provided by the programmer.


http://en.wikipedia.org/wiki/Glasgow_Haske...ions_to_Haskell

Правда, работает только на многоядерных процессорах.
ava
Void | 15.06.2011, 12:37 #
Это не совсем автоматическое распараллеливание, от программиста требуется расстановка аннотаций (`par` и т.д.), которая для получения ускорения от распараллеливания может быть нетривиальна, если вообще возможна. Преимущество в том, что эти аннотации не меняют семантику программы, т.е. вопросы синхронизации программиста не волнуют в принципе.
Можно ещё посмотреть в сторону Data Parallel Haskell и библиотек вроде vector и repa.
В целом, я бы не ожидал от Haskell какого-то магического ускорения. Рассматривайте его в контексте соотношения затрат на написание алгоритма и полученной производительности.
ava
afiskon | 15.06.2011, 14:14 #
Спасибо за ссылки, посмотрю.

Цитата

  от программиста требуется расстановка аннотаций (`par` и т.д.)



А можно пример?
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  Void   k0rvin   afiskon
advanced
Submit