python 性能提升小技巧--去掉所有print


python 性能提升小技巧--去掉所有print

python 中的 print会 使用操作系统输出流打印效率会慢一些,应该用logging 模块输出到日志文件中

一个简答例子说明两者效率差异:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#E_MAIL: renoyuan@foxmail.com
#AUTHOR: reno 

import time
import logging

logging.basicConfig(level=logging.INFO,
                      format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                       datefmt='%Y-%m-%d %H:%M:%S',
                       filename='a.log',
                       filemode='a')

def func1():

    for i in range(1000):
        print(i)  

def func2():
    for i in range(1000):
        logging.error(i)  


if __name__=="__main__":
    start = time.time()
    #func1() # 0.16356110572814941 耗时间
    func2() # 0.027853727340698242 输出到文件耗时 效率超过七倍  直接打印比print 更慢因为同样是输出到终端 
    print(time.time()-start)