内容简介: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在非计算问题上性能很好。
来源
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
21天学通C语言
(美国)琼斯(Bradley L.Jones) (美国)埃特肯(Peter Aitken) / 信达工作室 / 人民邮电出版社 / 2012-8 / 69.00元
《21天学通C语言(第6版•修订版)》是初学者学习C语言的经典教程。本版按最新的标准(ISO∕IEC:9899-1999),以循序渐进的方式介绍了C语言编程方面知识,并提供了丰富的实例和大量的练习。通过学习实例,并将所学的知识用于完成练习,读者将逐步了解、熟悉并精通C语言。《21天学通C语言(第6版•修订版)》包括四周的课程。第一周的课程介绍了C语言程序的基本元素,包括变量、常量、语句、表达式、函......一起来看看 《21天学通C语言》 这本书的介绍吧!