Re: [問題] 關於R的速度

看板R_Language作者 (拒看低質媒體)時間9年前 (2015/01/23 22:09), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
R 在跑ML/DM演算法時,核心還是用C/C++去實做的, 更底層的線性代數則是用如BLAS等庫。 這種做法的好處在於,抓取運行效能和寫程式碼的平衡。 例如整理資料時,由於每次面對的資料都不同,可以快速用R Script來開發。 但是進入到最佳化運算時,由於每次要做的計算都類似,就可以用C 來加速。 比較R 這類直譯語言的時候,最主要的考量點還是功能性,而非速度。 速度的部分都可以透過C 撰寫的外掛來針對bottle neck 做加速。 而且第三方的套件庫核心,通常也會用C 來開發。 我自己也是平時寫R ,碰到bottle neck 再使用Rcpp來加速。 和純C++ 應用比起來,更有彈性: - 不吃效能的部分,用R script開發比C 快很多(IO、Logging、Configuration...) - R 能夠直接傳pointer 給C 處理資料,所以R extension 和純C 的差別應該只在於 呼叫動態函式庫的overhead - R 的套件很豐富 - R 有自己的Build Chain (對於不習慣使用CMake 的我是個加分) 回到你的問題, 在自然語言處理,比較有名的套件就是: R 的tm、http://cran.r-project.org/web/packages/tm/index.html Python 的nltk,http://www.nltk.org/ 建議你可以先都試試看。 10G 資料的話, 核心部分沒有C 應該還是吃力。 ※ 引述《vvrr (vvrr)》之銘言: : [問題類型]: : : 效能諮詢(我想讓R 跑更快) : : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 目前主要的工作是關於自然語言處理(Natural Language Processing), : 一直以來都是用C在做大量的文字處理(處理量約是10G左右)。 : 前幾天同事發現R語言,提到有不少套件可以使用, : 想詢問大家,如果處理這種量級的資料, : R的速度會很慢嗎?和其他語言(C, java, php, ...)相比的感覺? : 我查的資料提到R主要是做「統計」的運算, : 在這裡:http://www.meetup.com/Taiwan-R/ 提到可以做ML/DM。 : R給我的感覺是類似script,但是一般做ML/DM資料量都很大, : 「是不是 R經過compiler之後就能直逼 C的效能?」有這樣的疑問。 : 不知道有沒有版友有實際上使用的經驗能分享? : 謝謝 : [關鍵字]: : 速度, 效能, NLP -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.45.200.180 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1422022145.A.8ED.html

01/23 22:48, , 1F
感謝詳析..請教什麼是R 自己的Build Chain?
01/23 22:48, 1F

01/23 23:12, , 2F
詳情請見 http://ppt.cc/nA6i
01/23 23:12, 2F
文章代碼(AID): #1KmbO1Zj (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1KmbO1Zj (R_Language)