Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Haskell и эффективная обработка изображений 
:(
    Опции темы
afiskon
Дата 13.6.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

Репутация: нет
Всего: 4



Если не ошибаюсь, на хаскеле должны получаться эффективные фильтры, взломщики капч и так далее. С аудио/видео он, наверное, тоже неплох, но меня пока интересуют картинки. На что нужно обратить внимание при работе с графикой в Haskell при условии приоритета скорости обработки данных? Есть ли какой-то выигрыш в плане скорости у библиотек, отличных от биндинга GD? Кто вообще пробовал что-то делать в этой области и что посоветует?
PM MAIL WWW   Вверх
k0rvin
Дата 14.6.2011, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



С чего Вы это взяли?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
afiskon
Дата 14.6.2011, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

Репутация: нет
Всего: 4



Автоматическое распараллеливание некоторых операций (map, чистая функция f(a,b)) имеет место быть или я заблуждаюсь на этот счет? Если имеет, то какое-нибудь преобразование из цветного в черно-белое или выделение контуров должно выполняться быстрее, чем на C++.
PM MAIL WWW   Вверх
k0rvin
Дата 15.6.2011, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



это только в теории, но на практике автоматическое распараллеливание еще нигде не реализовано, насколько я знаю


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
afiskon
Дата 15.6.2011, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

Репутация: нет
Всего: 4



Похоже, вы ошибаетесь:
Цитата

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

Правда, работает только на многоядерных процессорах.
PM MAIL WWW   Вверх
Void
Дата 15.6.2011, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 1
Всего: 173



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


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
afiskon
Дата 15.6.2011, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

Репутация: нет
Всего: 4



Спасибо за ссылки, посмотрю.

Цитата

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


А можно пример?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.