【用Python编写分析Python程序性能的工具的教程】教程文章相关的互联网学习教程文章

python-Django查询性能过滤与外键集查找【代码】

我想知道哪种查询在Django中更快.我有一个位置模型和一个用户模型.用户是外键输入到位置的,因此每个位置可以具有“ locationuser_set”属性. 如果我有成千上万的用户,哪一个更快? 查询1:location = Location.objects.get(id=<id>) users = location.user_set.all()查询2:users = User.objects.filter(location_id=<id>)解决方法:查询2完全等同于查询1的第二行.但是由于查询1也包括第一行,该行执行单独的位置查找,因此它一定较慢...

python-提高熊猫数据框的插补性能【代码】

我想使用大熊猫估算一个较大的数据矩阵(90 * 90000),然后估算一个更大的数据矩阵(150000 * 800000).目前,我正在笔记本电脑上测试较小的笔记本电脑(8GB内存,Haswell核心i5 2.2 GHz,较大的数据集将在服务器上运行). 列中有一些缺失值,我想用所有行中最频繁的值来估算. 我的工作代码是:freq_val = pd.Series(mode(df.ix[:,6:])[0][0], df.ix[:,6:].columns.values) #most frequent value per column, starting from the first SNP c...

python-numba中的性能嵌套循环【代码】

出于性能原因,除了NumPy之外,我还开始使用Numba.我的Numba算法正在运行,但是我觉得它应该更快.有一点使它放慢了速度.这是代码片段:@nb.njit def rfunc1(ws, a, l):gn = a**lfor x1 in range(gn):for x2 in range(gn):for x3 in range(gn):y = 0.0for i in range(1, l):if numpy.all(ws[x1][0:i] == ws[x2][0:i]) andnumpy.all(ws[x1][i:l] == ws[x3][i:l]):y += 1if numpy.all(ws[x1][0:i] == ws[x2][0:i]) and numpy.all(ws[x1][...

python-Django管理员性能问题【代码】

尝试在Django管理界面中打开模型时,我收到成千上万个此类查询,这导致了严重的性能问题.[sql] SELECT ... FROM `auth_user` WHERE `auth_user`.`id` = 9535 [sql] (21ms) Found 1 matching rows [sql] SELECT ... FROM `auth_user` WHERE `auth_user`.`id` = 9536 [sql] (20ms) Found 1 matching rows为什么Django管理员不使用select_related()的任何想法? 这里是(我认为)模型的相关部分(我正在查看管理员中Student模型的实例):fr...

Python的insert()方法与通过切片插入之间的实现和性能差异【代码】

通过以下方式将元素插入python列表中有什么区别?myList.insert(at, myValue) myList[at:at] = [myValue]我已经进行了一些测试,两者的性能非常相似,但是切片插入始终会产生更好的结果.我的问题是关于实现和性能的差异,而不是行为.解决方法:我们具有相同的行为,请参见下面的内容: 默认行为是将项目插入给定索引;索引较高的每个值都移到最后一个位置.>>> my_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> my_list.insert(5, 'it...

python-通过boto和multiprocessing.Sool从S3下载文件的性能不可靠【代码】

我想从S3下载数千个文件.为了加快过程,我尝试了Python的multiprocessing.Pool,但是我的性能非常不可靠.有时它可以工作,并且比单核版本快得多,但是通常某些文件要花费几秒钟,因此多处理运行所花的时间比单进程要长.有几次我什至得到ssl.SSLError:读取操作超时. 可能是什么原因呢?from time import time from boto.s3.connection import S3Connection from boto.s3.key import Key from multiprocessing import Pool import pickle...

在Python 2中,viewvalues()/ viewitems()在itervalues()/ iteritems()上的性能权衡取舍是什么?

显然,在几乎每个实例中,使用值,项和键都是Python 2.X的不良做法,因为你将分配一个你实际上并不需要的额外列表.因此,一段时间以来,推荐的最佳实践是使用iteritems / itervalues,如果要枚举dict的键,则使用内置的__iter__. 随着Python 3的键,值和项目的后端口到Python 2.7作为viewkeys,viewvalues和viewitems,我想知道view *系列函数与它们的iter *对应物的实际性能权衡是什么.是继续使用Python 2.6及更早版本的iter *函数的唯一原因...

python – 在Cython与NumPy中汇总int和float时的大性能差异【代码】

我使用Cython或NumPy对一维数组中的每个元素求和.当求和整数时,Cython的速度提高了约20%.总结浮点数时,Cython慢??约2.5倍.以下是使用的两个简单函数.#cython: boundscheck=False #cython: wraparound=Falsedef sum_int(ndarray[np.int64_t] a):cdef:Py_ssize_t i, n = len(a)np.int64_t total = 0for i in range(n):total += a[i]return total def sum_float(ndarray[np.float64_t] a):cdef:Py_ssize_t i, n = len(a)np.float64_t...

python concurrent.futures.ProcessPoolExecutor:.submit()vs .map()的性能【代码】

我使用concurrent.futures.ProcessPoolExecutor来查找数字范围内的数字的出现.目的是调查从并发中获得的加速性能的数量.为了测试性能,我有一个控件 – 一个执行所述任务的串行代码(如下所示).我编写了2个并发代码,一个使用concurrent.futures.ProcessPoolExecutor.submit(),另一个使用concurrent.futures.ProcessPoolExecutor.map()执行相同的任务.它们如下所示.起草前者和后者的建议分别可以在here和here看到. 发给所有三个代码的...

在Python脚本中使用print语句的性能影响【代码】

我有一个Python脚本处理一个巨大的文本文件(大约4万行),并将数据写入两个单独的文件. 我添加了一个print语句,它为每行输出一个字符串以进行调试.我想知道从性能角度看它有多糟糕? 如果它非常糟糕,我可以删除调试行. 编辑 事实证明,对于包含400万行的文件中的每一行都有一个print语句会增加时间.解决方法:尝试用一个非常简单的脚本来做它只是为了好玩,差别是非常惊人的: 在large.py中:target = open('target.txt', 'w')for item...

python – 设置与冻结性能【代码】

我正在修补Python的set和frozenset集合类型. 最初,我假设freezeset将提供比set更好的查找性能,因为它是不可变的,因此可以利用存储项的结构. 但是,对于以下实验,情况似乎并非如此:import random import time import sysdef main(n):numbers = []for _ in xrange(n):numbers.append(random.randint(0, sys.maxint))set_ = set(numbers)frozenset_ = frozenset(set_)start = time.time()for number in numbers:number in set_set_dur...

python – 谷歌appengine:任务队列性能【代码】

我目前有一个在appengine上运行的应用程序,我正在使用延迟库执行一些作业,其中一些任务每天运行,而其中一些每月执行一次.这些任务中的大多数查询数据存储区以检索文档,然后将实体存储在索引(Search API)中.其中一些表每月更换一次,我必须在所有实体上运行这些任务(4~5M). 这样一个任务的一个例子是:def addCompaniesToIndex(cursor=None, n_entities=0, mindate=None):#get indexBATCH_SIZE = 200cps, next_cursor, more = Compan...

python – Pandas的性能与np.vectorize相对应,可以从现有列创建新列【代码】

我正在使用Pandas数据帧,并希望创建一个新列作为现有列的函数.我没有看到df.apply()和np.vectorize()之间的速度差异的很好的讨论,所以我想我会在这里问. Pandas apply()函数很慢.根据我的测量结果(在下面的一些实验中显示),使用np.vectorize()比使用DataFrame函数apply()快25倍(或更多),至少在我的2016 MacBook Pro上使用.这是预期的结果,为什么? 例如,假设我有以下具有N行的数据帧:N = 10 A_list = np.random.randint(1, 100, N...

python性能优化【图】

原文链接:https://www.cnblogs.com/xybaby/p/7491656.html目录 python为什么性能差: Be pythonic 基于profile的优化 python profilers profile GUI tools profile针对优化python C扩展 beyond?CPython cython pypyChangeLog references 正文 注意:本文除非特殊指明,”python“都是代表CPython,即C语言实现的标准python,且本文所讨论的是版本为2.7的CPython。另外,本文会不定期更新,如果大家有一些好的想法,请在评论里...

Python flask 与 GO WEB服务器性能对比

测试环境:系统: CentOS 7.1 Mem: 8G CPU: 虚拟机16核 Python版本: python3.6 Flask版本: 0.12.2 Golang版本: 1.6.31.首先写一个Flask的web程序,只返回一个 Hello word! from flask import Flask, render_templateapp = Flask(__name__)@app.route('/') def hello_world():return 'Hello word!'if __name__ == '__main__':app.run() 2.写一个go语言的web程序,也返回一个 Hello word! package mainimport (f "fmt""log""net/h...