详解Python中__str__和__repr__方法的区别


Posted in Python onApril 17, 2015

 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率。

但优点也是缺点,tmpfs 只把结果保存在内存中,所以你必须自己编写脚本来把结果回写到磁盘上进行保留。而且这些脚本必须良好书写和执行,否则就要失去部分或全部的工作成果了。

一种常见的方法是直接在tmpfs文件夹中工作,然后把工作成果备份到磁盘上的一个文件夹中。当您的机器启动时你从那个备份文件夹恢复tmpfs文件夹。启动之后用cron同步tmpfs文件夹和磁盘文件夹。

我发现这个设置有点复杂容易出错。在启动的时候,或者对于crom,我从没有真正的相信。现在我用一种简单得多的设置,根本不用cron。

在我的机器上运行一个单项测试,使用IDE并发布于web服务器,其性能通常是合理的,只有运行全部测试需要许多时间。

我发现最佳之处是在磁盘上设置一个workspace,与/dev/shmand目录下运行所有测试的tmpfs同步。这或多或少使我的设置无需改变,并消除了可能松散的工作,这些仅仅是因为我在正确设置方面太垃圾了。

性能提升的结果是合理的:
 

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

现在比原来提高了 5 倍速度。

使用 python 来进行设置非常简单:
 

#!/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]}

我只要重复同步到/dev/shm目录,设置测试环境(virtualenv and python setup.PY)和运行测试(nosetests)。

在tmpfs文件夹里仍可用命令行运行单个测试。也可以把这个从你的IDE中踢走,但你会失去你的测试运行和调试的能力。如我之前所说,我现在不需要这些。

我希望我对tmpfs的这个变通使用能帮助你建立一个更快速的开发环境,而无须遭受所有的脚本麻烦。

Python 相关文章推荐
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
基于python的Tkinter编写登陆注册界面
Jun 30 Python
python编程使用协程并发的优缺点
Sep 20 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
Python元组常见操作示例
Feb 19 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
PyTorch 导数应用的使用教程
Aug 31 Python
Python暴力破解Mysql数据的示例
Nov 09 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 Python
使用Python设置tmpfs来加速项目的教程
Apr 17 #Python
在Python上基于Markov链生成伪随机文本的教程
Apr 17 #Python
基于scrapy实现的简单蜘蛛采集程序
Apr 17 #Python
在Python的Django框架中实现Hacker News的一些功能
Apr 17 #Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 #Python
在Python中实现贪婪排名算法的教程
Apr 17 #Python
在Linux下调试Python代码的各种方法
Apr 17 #Python
You might like
php操作mysqli(示例代码)
2013/10/28 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
vue ssr+koa2构建服务端渲染的示例代码
2020/03/23 Javascript
python 队列详解及实例代码
2016/10/18 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
解决Django连接db遇到的问题
2019/08/29 Python
Python API自动化框架总结
2019/11/12 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
迟到检讨书900字
2014/01/14 职场文书
积极向上的团队口号
2014/06/06 职场文书
关于爱国的标语
2014/06/24 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
教师见习总结范文
2015/06/23 职场文书
导游词之长城八达岭
2019/09/24 职场文书