最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python設(shè)置tmpfs來加速項(xiàng)目的教程

 更新時(shí)間:2015年04月17日 14:59:41   投稿:goldensun  
這篇文章主要介紹了使用Python設(shè)置tmpfs來加速項(xiàng)目的教程,文中給出方法使用Python腳本將tmpfs保存于內(nèi)存中的程序存儲(chǔ)到本地硬盤上,需要的朋友可以參考下

 對(duì)我當(dāng)前工程進(jìn)行全部測(cè)試需要花費(fèi)不少時(shí)間。既然有 26 GB 空閑內(nèi)存,為何不讓其發(fā)揮余熱呢? tmpfs 可以通過把文件系統(tǒng)保存在大內(nèi)存中來加速測(cè)試的執(zhí)行效率。

但優(yōu)點(diǎn)也是缺點(diǎn),tmpfs 只把結(jié)果保存在內(nèi)存中,所以你必須自己編寫腳本來把結(jié)果回寫到磁盤上進(jìn)行保留。而且這些腳本必須良好書寫和執(zhí)行,否則就要失去部分或全部的工作成果了。

一種常見的方法是直接在tmpfs文件夾中工作,然后把工作成果備份到磁盤上的一個(gè)文件夾中。當(dāng)您的機(jī)器啟動(dòng)時(shí)你從那個(gè)備份文件夾恢復(fù)tmpfs文件夾。啟動(dòng)之后用cron同步tmpfs文件夾和磁盤文件夾。


我發(fā)現(xiàn)這個(gè)設(shè)置有點(diǎn)復(fù)雜容易出錯(cuò)。在啟動(dòng)的時(shí)候,或者對(duì)于crom,我從沒有真正的相信。現(xiàn)在我用一種簡(jiǎn)單得多的設(shè)置,根本不用cron。

在我的機(jī)器上運(yùn)行一個(gè)單項(xiàng)測(cè)試,使用IDE并發(fā)布于web服務(wù)器,其性能通常是合理的,只有運(yùn)行全部測(cè)試需要許多時(shí)間。

我發(fā)現(xiàn)最佳之處是在磁盤上設(shè)置一個(gè)workspace,與/dev/shmand目錄下運(yùn)行所有測(cè)試的tmpfs同步。這或多或少使我的設(shè)置無需改變,并消除了可能松散的工作,這些僅僅是因?yàn)槲以谡_設(shè)置方面太垃圾了。


性能提升的結(jié)果是合理的:
 

$ nosetests && run_tests.py
........................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 248 tests in 107.070s
 
OK
........................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 248 tests in 19.423s
 
OK

現(xiàn)在比原來提高了 5 倍速度。

使用 python 來進(jìn)行設(shè)置非常簡(jiǎn)單:
 

#!/bin/bash -e
 
WORK=src/py
LOG=$(pwd)/test.log
TARGET=$(hg root)
SHADOW=/dev/shm/shadow/$TARGET
 
date > $LOG
mkdir -p $SHADOW
 
cd $SHADOW
rsync --update --delete --exclude=".*" --exclude=ENV --archive $TARGET ./..
 
if [ ! -d ENV ]
then
  virtualenv ENV
fi
. ENV/bin/activate
 
cd $WORK
python setup.py develop >> $LOG
nosetests $* | tee -a $LOG
exit ${PIPESTATUS[0]}

我只要重復(fù)同步到/dev/shm目錄,設(shè)置測(cè)試環(huán)境(virtualenv and python setup.PY)和運(yùn)行測(cè)試(nosetests)。

在tmpfs文件夾里仍可用命令行運(yùn)行單個(gè)測(cè)試。也可以把這個(gè)從你的IDE中踢走,但你會(huì)失去你的測(cè)試運(yùn)行和調(diào)試的能力。如我之前所說,我現(xiàn)在不需要這些。

我希望我對(duì)tmpfs的這個(gè)變通使用能幫助你建立一個(gè)更快速的開發(fā)環(huán)境,而無須遭受所有的腳本麻煩。

相關(guān)文章

最新評(píng)論

安吉县| 济宁市| 湖南省| 芦溪县| SHOW| 白朗县| 九龙城区| 孝昌县| 惠来县| 小金县| 营山县| 景洪市| 丽江市| 祁东县| 广汉市| 宝丰县| 台州市| 仪征市| 额尔古纳市| 什邡市| 怀宁县| 建宁县| 克什克腾旗| 万全县| 马关县| 佳木斯市| 伊金霍洛旗| SHOW| 宜良县| 本溪市| 剑阁县| 高邑县| 裕民县| 清远市| 凤山市| 海门市| 宜君县| 甘南县| 福贡县| 东乌| 垦利县|