Страница 1 из 1

оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 01:34
Eugenia
Прошу прощения, если такое уже обсуждали.
Что быстрее для ГИС, R или Python, или что-то еще? У меня часто бывает, что R ну очень долго выполняет какую-то простую операцию, а ArcGIS или QGIS тоже самое за секунды делает. Я пока питоном не очень пользуюсь, но, может, пора осваивать? Windows 10, 64 bit, RAM 16 Gb.
Спасибо!

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 01:43
jerry-maori
Для всего быстрее всего asm.

А по существу:
https://www.datacamp.com/community/tuto ... gs.2uCD=pk

R - он скорее про удобство именно стат. обработки (удобство, а не скорость)
Python - он более про общие задачи.

+ не забывайте, что большая часть функционала идёт в виде пакетов, где внутри сидит код на С, а R (Python, Matlab etc) -- просто обёртка, чтобы параметры кормить.

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 02:00
Eugenia
Спасибо за ссылку! Правда, там мало что про скорость.
Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
И есть ли смысл вообще связываться с R/Python, если та же QGIS все делает намного быстрее?
Спасибо еще раз.

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 06:52
bolotoved
Eugenia писал(а):Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
QGIS для этих целей использует библиотеку GDAL, по сути являясь для этих функций лишь графической оболочкой. Раньше GDAL состоял из 2-х частей:собственно GDAL- для растров и OGR - для векторов, сейчас это одна библиотека, синтаксис остался прежний.

Можно использовать GDAL напрямую (см. предыдущие ссылки), можно через python, можно через R (см. пакет RGDAL).

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 10:54
Александр Мурый
bolotoved писал(а): QGIS для этих целей использует библиотеку GDAL, по сути являясь для этих функций лишь графической оболочкой.
Многие функции геообработки давно в ядре QGIS и никак с GDAL не связаны. В "Анализе данных" алгоритмы QGIS отдельно от алгоритмов GDAL.

Насчёт R. Какие именно скрипты/функции у вас долго выполняются? Дело может быть, кстати, в неоптимальном написании кода.
Мне кажется, что использовать R _только_ для выполнения типичных гисовых процедур странно, оно не для того предназначено. Анализ/графика - да, другое дело.

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 13:45
gamm
Eugenia писал(а):Прошу прощения, если такое уже обсуждали.
Что быстрее для ГИС, R или Python, или что-то еще? У меня часто бывает, что R ну очень долго выполняет какую-то простую операцию, а ArcGIS или QGIS тоже самое за секунды делает. Я пока питоном не очень пользуюсь, но, может, пора осваивать? Windows 10, 64 bit, RAM 16 Gb.
Спасибо!
быстрее программирование на С++ (желательно многопоточное), которое во всем перечисленном реально и работает. Если же писать циклы на любом интерпретаторе (что R, что Python, что Васик) работать будет долго. Без указания, что вы делали, и что вызывали, обсуждение смысла не имеет. Иногда во всех языках фактическую работу выполняет один и тот же код на С++, иногда - очень разный по части оптимизации и устойчивости.

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 12 ноя 2016, 17:36
Ariki
Eugenia писал(а):Если нужно сделать то, что в "кнопочных" программах выполняют с помощью dissolve, reproject, near, extract to value и тп., чтобы Вы порекомендовали?
При обработке массивов данных многое зависит от того, помещаются ли эти данные в оперативной памяти, от наличия и реализации индексов (в том числе пространственных). Многие вещи целесообразно делать в PostGIS, при этом никто не запрещает использовать его из R, Python или QGIS.

В том же ArcGIS, например, время выполнения некоторых инструментов может отличаться на порядки в зависимости от того, шейп-файл на входе или файловая ГБД. Я думаю, дело в индексах.

Ну и от качества кода, конечно, зависит. Недавно на работе ковырял чужой скрипт на Python + arcpy, который выполнялся в течение шести часов (после чего падал, встретив пустую геометрию). После того как избавился
от запросов к БД во вложенном цикле, время выполнения сократилось до нескольких секунд — ценой большего потребления памяти.

Re: оптимальна ли R с точки зрения скорости?

Добавлено: 13 ноя 2016, 14:53
nickleb
.. в R можно следить за новыми package'-ми чтения данных и записи, которые оптимизируют и повышают скорости этих критичных по времени операций для его приложений ... см., например, обзор:

blog.revolutionanalytics.com/2015/04/new-packages-for-reading-data-into-r-fast.html

... в манипуляции с данными в R хорош и по функционалу, и по скорости пакет data.table:

https://cran.r-project.org/web/packages ... -intro.pdf

https://s3.amazonaws.com/assets.datacam ... +sheet.pdf

https://cran.r-project.org/web/packages ... le-faq.pdf

... "скорострельное" чтение по функции fread () упомянутого выше пакета data.table меня не так давно приятно удивило...