1. R語言運行效率分析_小結(jié)(3)

小結(jié)(3)

以上用到了9個方法實現(xiàn)一個問題卿闹,在實現(xiàn)的過程中試驗數(shù)據(jù)量為n=10精偿。得到不同方法所用的平均耗時間大小鹤树。每種方法在計算平均耗時的重復(fù)次數(shù)為N =100。當(dāng)然上述的每個方法測試的數(shù)據(jù)量盡管相同烹困,但由于(1)數(shù)據(jù)內(nèi)容不盡相同,(2)由于測試耗時的時候后臺打開的程序多少不同(CPU和內(nèi)存任務(wù)量不同)乾吻,(3)每種方法所處理的內(nèi)容不盡相同髓梅。這些都對所測試的結(jié)果產(chǎn)生影響。為此绎签,為了減小這些影響枯饿,本節(jié)主要通過增加數(shù)據(jù)量大小(n)(也可以增加重復(fù)次數(shù)(N )诡必,本例沒加以討論)來估測每種方法的優(yōu)劣奢方。另外,為了具有可比性,以下統(tǒng)計結(jié)果均為處理單個數(shù)據(jù)所消耗的時間袱巨。時間單位為微秒(microsecond)

根據(jù)上述9個函數(shù)阁谆,

#根據(jù)上述數(shù)據(jù)生成圖
library(tidyverse)
data<-read.csv("/home/xh/300G/筆記/R/10~1000.csv")
data<-gather(data,type,mean,-c("fun","n","N"))
head(data)
         fun  n   N  type       mean
1      for_if 10 100 Month   1.167005
2 for_if_else 10 100 Month   0.918378
3  for_ifelse 10 100 Month  16.727339
4  for_switch 10 100 Month   1.713591
5       which 10 100 Month   5.705561
6        join 10 100 Month 183.532495
ggplot(data,aes(n,mean,color=fun))+
  geom_point()+
  facet_wrap(~type)+
  theme(axis.text.x   = element_text(angle=90))+
  scale_x_continuous(name="length of vector")+
  scale_y_continuous(name="time")
31.png

從上圖可以看出,隨著數(shù)據(jù)量的增加愉老,處理每個數(shù)據(jù)所需的平均時間均呈減少趨勢场绿。先不說ddply的并行運算,其它8個函數(shù)均在數(shù)據(jù)量小于250的時候嫉入,隨著數(shù)據(jù)量的增加焰盗,處理每個數(shù)據(jù)平均時間急速減少;當(dāng)數(shù)據(jù)量大于250時咒林,隨著數(shù)據(jù)量的增加熬拒,處理每個數(shù)據(jù)平均時間減少趨勢逐漸放緩。

我們進一步分析數(shù)據(jù)量大于250的情形:

ggplot(data[which(data$fun!="ddply_parallel"),],aes(n,mean,color=fun))+
  geom_point()+
  facet_wrap(~type)+
  theme(axis.text.x   = element_text(angle=90))+
  scale_x_continuous(name="length of vector",limits=c(250,1000))+
  scale_y_continuous(name="time",limits=c(0,80))
32.png

從上圖可以看出垫竞,隨著數(shù)據(jù)量的增加澎粟,每個數(shù)據(jù)不同方法的平均運算時間都在減少,但減速不同欢瞪,在數(shù)據(jù)量400<n<700時活烙,處理每個數(shù)據(jù)所需平均時間ddply最大,接下來是for_ifelse遣鼓、str_replace和join啸盏,其余的幾個函數(shù)所用時較小。另一方面 骑祟,盡管ddply等用時較長回懦,但隨著數(shù)據(jù)量的增多,所需時長遞減速較大次企。

總體來說怯晕,ddply>[for_ifelse,str_replace,for_switch]>[which,join]。

為此抒巢,我們下一節(jié)主要討論當(dāng)數(shù)據(jù)量足夠大時贫贝,這幾個函數(shù)處理數(shù)據(jù)的平均 時長是何種規(guī)律。

(未完蛉谜!待續(xù)……)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稚晚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子型诚,更是在濱河造成了極大的恐慌客燕,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狰贯,死亡現(xiàn)場離奇詭異也搓,居然都是意外死亡赏廓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門傍妒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幔摸,“玉大人,你說我怎么就攤上這事颤练〖纫洌” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵嗦玖,是天一觀的道長患雇。 經(jīng)常有香客問我,道長宇挫,這世上最難降的妖魔是什么苛吱? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮器瘪,結(jié)果婚禮上翠储,老公的妹妹穿的比我還像新娘。我一直安慰自己娱局,他們只是感情好彰亥,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衰齐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪继阻。 梳的紋絲不亂的頭發(fā)上耻涛,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音瘟檩,去河邊找鬼抹缕。 笑死,一個胖子當(dāng)著我的面吹牛墨辛,可吹牛的內(nèi)容都是我干的卓研。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼睹簇,長吁一口氣:“原來是場噩夢啊……” “哼奏赘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起太惠,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤磨淌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凿渊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梁只,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡缚柳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了搪锣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秋忙。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖构舟,靈堂內(nèi)的尸體忽然破棺而出灰追,到底是詐尸還是另有隱情,我是刑警寧澤旁壮,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布监嗜,位于F島的核電站,受9級特大地震影響抡谐,放射性物質(zhì)發(fā)生泄漏裁奇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一麦撵、第九天 我趴在偏房一處隱蔽的房頂上張望刽肠。 院中可真熱鬧,春花似錦免胃、人聲如沸音五。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躺涝。三九已至,卻和暖如春扼雏,著一層夾襖步出監(jiān)牢的瞬間坚嗜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工诗充, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苍蔬,地道東北人。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓蝴蜓,卻偏偏與公主長得像碟绑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茎匠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 小結(jié)(2) 以上用到了9個方法實現(xiàn)一個問題格仲,在實現(xiàn)的過程中試驗數(shù)據(jù)量為n=10。得到不同方法所用的平均耗時間大小汽抚。...
    滅絕老衲閱讀 238評論 0 1
  • --- layout: post title: "如果有人問你關(guān)系型數(shù)據(jù)庫的原理抓狭,叫他看這篇文章(轉(zhuǎn))" date...
    藍墜星閱讀 780評論 0 3
  • 這是我原創(chuàng)文章第67天。一個終生知識使用者造烁、踐行者否过。 《西游記》這部經(jīng)典的四大名著之一午笛,電視劇被放了幾十年了,年年...
    夏陽777閱讀 491評論 0 1
  • 無助時風(fēng)箏帶來了溫暖苗桂, 無意中卻扯斷了它的線药磺。 昔日里熟悉的溫暖, 卻只待來了今日的漸行漸遠煤伟。 感謝你無心給予的溫...
    庭院故人閱讀 878評論 0 3
  • 1 介紹 分組返回數(shù)據(jù)癌佩,不是where的那種返回特定數(shù)據(jù) 2 創(chuàng)建分組(group by) 2.1 分析 按ven...
    布爾bl閱讀 408評論 0 1