详解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进行一些简单的自然语言处理的教程
Mar 31 Python
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
python使用psutil模块获取系统状态
Aug 27 Python
Python可变参数用法实例分析
Apr 02 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
django模板语法学习之include示例详解
Dec 17 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
Django框架封装外部函数示例
May 28 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python 实时调取摄像头的示例代码
Nov 25 Python
Python中的min及返回最小值索引的操作
May 10 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
jQuery 源码分析笔记
2011/05/25 PHP
php写的简易聊天室代码
2011/06/04 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
javascript事件模型代码
2007/07/01 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
让html元素随浏览器的大小自适应垂直居中的实现方法
2016/10/12 Javascript
Bootstrap入门教程一Hello Bootstrap初识
2017/03/02 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
详解Vuex管理登录状态
2017/11/13 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
python操作gmail实例
2015/01/14 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
2018/01/11 Python
Python内建模块struct实例详解
2018/02/02 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
营销总经理岗位职责
2014/02/02 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
创业计划书之水果店
2019/07/18 职场文书