内容简介:numba能够极大的提高python在计算方面的性能。是不是所有的python代码上,都可以加上numba.jit装饰器?答案是否定的。很常见的例子,从数据库从查询一千条数据,再进行简单的格式转换。对比结果,发现如果是非计算问题,引入即时编译,返回导致性能下降。实际python在非计算问题上性能很好。
numba能够极大的提高 python 在计算方面的性能。是不是所有的python代码上,都可以加上numba.jit装饰器?答案是否定的。
示例
环境
python3.6 fedora pymysql
示例
很常见的例子,从数据库从查询一千条数据,再进行简单的格式转换。
#coding=utf-8
import time
from numba import jit
import pymysql
conn = pymysql.connect("192.168.10.125", "username", "password", "db_name")
#@jit #位置1
def test_for():
c =conn.cursor()
c.execute("select * from user limit 1000")
start = time.time()
for a in c.fetchall():
to_dict(a, c.description)
end = time.time()
print("cost_seconds:", end-start)
#@jit #位置2
def to_dict(row, description):
"""
记录转为字典
"""
item = dict()
for i, field in enumerate(description):
field_name = field[0]
item[field_name] = row[i]
return item
test_for()
结果
python3 0.0033788681030273438 python3 +位置1jit 0.08921098709106445 python3 + 位置1jit+位置2jit 3.846426010131836 pypy 0.0065860748291015625
对比结果,发现如果是非计算问题,引入即时编译,返回导致性能下降。实际python在非计算问题上性能很好。
来源
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解
陈丰洲 / 电子工业出版社 / 2018-10 / 59.80元
SEM人员在职场打拼的过程中,会遇到一个又一个坑,《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》尝试站在一定的高度,将从业者从专员走向管理岗位过程中可能碰到的问题进行整理,不仅谈竞价推广,也谈基于SEM的营销体系。 《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》包括11章内容,由浅入深地分享SEM的进阶过程。第1章是SEM概述,让读者对SEM有......一起来看看 《SEM修炼手册:百度竞价、信息流广告、数据分析与专题页策划实战详解》 这本书的介绍吧!