python提高计算速度的几种方法---学习笔记26
2017-01-03 00:00
267 查看
原版方法:
loops=25000000
from math import*
a=range(1,loops)
def f(x):
return 3*cos(x)+4*sin(x)**2
%timeit r=(f(x) for x in a)
效率:
1000000 loops, best of 3: 552 ns per loop
改进方法1、使用数组
import numpy as np
a = np.arange(1, loops)
%timeit r = 3 * np.cos(a) + np.sin(a)** 2
效率:
1 loop, best of 3: 3.87 s per loop
改进方法2、数字表达专用库
import numexpr as ne
ne.set_num_threads(1)
f = '3 * log(a) + cos(a) **2'
%timeit r = ne.evaluate(f)
效率:
1 loop, best of 3: 2.15 s per loop
改进方法3、多线程
ne.set_num_threads(4)
%timeit r = ne.evaluate(f)
效率:
1 loop, best of 3: 1.14 s per loop
###########################################################
可以看得到,python的计算效率是有方法提高的。当面临效率问题的时候,可以采用某种适当的方法提高相应的效率
loops=25000000
from math import*
a=range(1,loops)
def f(x):
return 3*cos(x)+4*sin(x)**2
%timeit r=(f(x) for x in a)
效率:
1000000 loops, best of 3: 552 ns per loop
改进方法1、使用数组
import numpy as np
a = np.arange(1, loops)
%timeit r = 3 * np.cos(a) + np.sin(a)** 2
效率:
1 loop, best of 3: 3.87 s per loop
改进方法2、数字表达专用库
import numexpr as ne
ne.set_num_threads(1)
f = '3 * log(a) + cos(a) **2'
%timeit r = ne.evaluate(f)
效率:
1 loop, best of 3: 2.15 s per loop
改进方法3、多线程
ne.set_num_threads(4)
%timeit r = ne.evaluate(f)
效率:
1 loop, best of 3: 1.14 s per loop
###########################################################
可以看得到,python的计算效率是有方法提高的。当面临效率问题的时候,可以采用某种适当的方法提高相应的效率
相关文章推荐
- python 学习笔记(相似性计算方法)
- Python学习笔记·计算生态(软件开发方法)
- python学习——计算阶乘的几种方法
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- Python学习笔记-XML大文件的XSD验证方法
- 康奈尔大学做笔记的方法,从此学习工作效率提高100%
- Python学习笔记--子类调用父类方法
- struts2学习笔记---获得HttpServletResponse或HttpServletRequest对象的几种方法
- NUnit学习笔记4--单元测试和项目结合的几种方法
- Spring2.5.6学习笔记-实例化bean的几种方法
- python学习笔记——Thread常用方法
- python学习笔记——Thread常用方法
- 计算广告学习笔记 4.7竞价广告系统-逻辑回归优化方法介绍
- Flex 学习笔记 提高编译速度
- 智能计算与优化方法——学习笔记摘要
- NUnit学习笔记4--单元测试和项目结合的几种方法
- Python学习笔记五(面向对象-类-方法-属性)
- Python学习笔记九:列表(1)--列表元素介绍及创建方法
- NetworkX学习笔记-3-Python中输出Gephi文件格式的方法
- 【Python学习笔记】list/dict对象复制的误区与正确方法