python提高计算速度的几种方法---学习笔记26

原创 2017年01月03日 00:00:52

原版方法:

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的计算效率是有方法提高的。当面临效率问题的时候,可以采用某种适当的方法提高相应的效率




   

版权声明:本文为博主原创文章,转载请注明来源

相关文章推荐

oracle分区表

在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。 同事的分区表总结,转载一下。1.1分区表PARTITION table在ORACLE里如果遇到特别大的表,可以使用分区的表...

python 速度优化

在我看来,python社区分为了三个流派,分别是python 2.x组织,3.x组织和PyPy组织。这个分类基本上可以归根于类库的兼容性和速度。这篇文章将聚焦于一些通用代码的优化技巧以及编译成C后性能...

python小技巧及速度提高

Python 3: 1. 列表推导式 你有一个list:bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子:[2, 4, 6, 8, 10]...

dataframe文件写入pickle文件和写入csv效率对比

######同一个dataframe文件写入pickle文件和写入csv效率对比 import numpy as np import pandas as pd import pickle import...

python大规模数据处理技巧之一:数据常用操作

面对读取上G的数据,python不能像做简单代码验证那样随意,必须考虑到相应的代码的实现形式将对效率的影响。如下所示,对pandas对象的行计数实现方式不同,运行的效率差别非常大。虽然时间看起来都微不...

Matlab 程序性能(计算速度)分析方法

一、简单计算程序运行时间:tic,toc —— Measure performance using stopwatch timer 基本用法:tStart=tic; any_statements; ...

如何提高 matlab 计算速度 运算效率

最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则: 1. 提前给数组分配大小。 2. 尽量用矢量计算,减少 for 循环。 3. 尽量调用 mal...

百度研发深度学习新算法 图像计算速度提至12倍

百度研发深度学习新算法 图像计算速度提至12倍   2013年11月,百度亮相全球软件开发大会QCon上海2013。在会上,百度 IDL首席科学家张潼发表...

点击某个按钮显示3 2 1 倒计时(地图上的倒计时与计算速度 时间 距离)

//当点击开始按钮时,开始倒计时,添加监听器, tvAction.setOnClickListener(new OnClickListener() { @Overrid...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)