麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

優化Ruby腳本效率實例分享

2020-10-29 19:44:50
字體:
來源:轉載
供稿:網友

profile.rb是為Ruby程序準備的profiler,它可以統計并輸出各方法的運行時間,以便于找到程序執行的性能瓶頸。這次就用它來剖析腳本的運行時間。使用方法很簡單,加上命令行選項-r profile就可以:

ruby -r profile rename.rb
運行結束后,會把統計信息輸出到標準錯誤輸出中。如下圖所示:

profile統計的是各方法的運行時間,分為2類。第1種計算的是從方法調用到方法返回之間的時間,稱為整體時間;第2種則是從整體時間中扣除在該方法中調用其它方法所耗費時間之后得到的時間,稱為實際時間。輸出信息每行中各字段含義如下(從左到右):

該方法執行時間占整體時間的百分比,比例越高越說明這行代碼可能需要優化

整體時間的總和

實際時間的總和

被調用的次數

每次調用的平均實際時間(毫秒)

每次調用的平均整體時間(毫秒)

方法名

由上圖可以看出,腳本執行的時間大部分耗在了循環上。解決方法有兩個:消除循環或減少循環次數。前者很難實現,暫且還沒有想到辦法,也許根本就沒有可能。腳本中mapping的大小為2685,所以每修改一個文件名需要執行2685次循環,且循環中的encode和gsub!都是耗時操作。通常文件名的長度不超過30個字符,通過遍歷文件名中每個字符的方式重命名就可以把循環次數縮減到不超過30次。

修改代碼后重新執行分析命令,得到的結果是腳本運行時間從379395秒優化到2418秒,性能整整提升了156倍,達到2個數量級的效果。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费看片a | 久久久www成人免费毛片 | 激情小说激情图片激情电影 | 久久成年人视频 | 欧美在线中文字幕 | 免费视频xxxx| 素人视频在线观看免费 | 亚洲国产成人一区二区 | 亚洲精品成人av在线 | 日本一区视频在线观看 | av免费在线观看国产 | 欧美老外a级毛片 | 欧美日韩在线播放一区 | 欧美另类激情 | 在线91视频| 久久久久国产成人精品亚洲午夜 | 欧美一级毛片一级毛片 | 欧美日本在线视频 | 亚洲精品一区二区三区大胸 | 中文字幕涩涩久久乱小说 | 一级电影免费 | 色婷婷av一区二区三区久久 | 怦然心动50免费完整版 | 亚洲成人激情av | 久久国产精品久久久久久 | 久久毛片免费 | 中文字幕极速在线观看 | 成人在线视频在线观看 | 91色一区二区三区 | 一区国产视频 | 久久区二区| 欧洲精品久久久久69精品 | 大逼逼影院 | 国产99精品 | 欧美一级做a| 男女羞羞视频在线观看免费 | 做羞羞视频 | 成人免费一区二区三区 | 蜜桃成品人免费视频 | 国产精品视频一区二区三区综合 | 亚洲综合网站 |