【python性能提升方法】教程文章相关的互联网学习教程文章

python – Django查询性能【代码】

关于django查询,我有一个与性能相关的问题. 假设我有一张拥有10,000条记录的员工表.现在,如果我想选择5名年龄大于或等于20岁的随机员工,那么就说5,500名员工年龄在20岁以上. django查询将是:Employee.objects.filter(age__gte=20).order_by('?')[:5]并且mysql中此查询的原始副本将是:SELECT * FROM `database`.`employee` WHERE `employee`.`age` >= 20 ORDER BY RAND () LIMIT 5;从django查询的外观来看,数据库首先返回5,500条...

python – pandas中的对象索引:性能?好受支持?【代码】

我“发现”我可以使用Python对象创建一个pandas.Index,只要对象实现了,事情似乎就可以正常工作:__ hash __,__ eq __,__ ne _,_ _ _ _ _ _.这样做会有性能影响吗?例如.我会像使用字符串或整数索引标签那样快速排序和选择工作吗?这种指数是否得到了很好的支持?是否有关于如何正确执行此操作的文档? 这是一个例子:class MyObject(object):def __init__(self, name):self.name = name # Expect name is a stringself.complicate...

python – 从pandas DataFrame转换为raw numpy数组可以提高ML性能吗?【代码】

pandas DataFrame具有固定整数数据类型的限制(int64). NumPy数组没有这个限制;例如,我们可以使用np.int8(我们也有不同的浮点大小可用). (限制不再存在.) 如果我们首先将DataFrame转换为数据类型减小的原始NumPy数组(例如从np.float64到np.float16),那么scikit-learn性能通常会改善大数据集吗?如果是这样,当内存有限时,这种可能的性能提升是否只会发挥作用? 对于ML而言,相对于计算大小和复杂性而言,真正高浮点精度似乎通常并不重要...

python – 扭曲:在反应堆重载的情况下优雅地降低性能?

是否有可能“检测”反应堆过载并开始断开连接或拒绝新连接?我们怎样才能避免反应堆完全超载而无法赶上?解决方法:如果我正确理解Twisted Reactors,它们就不会并行化所有内容.排队的任何操作都是按计划进行的,并且是逐个完成的. 一种方法是使用自定义addCallback来检查已经注册了多少回调,并在必要时删除.

Python性能:为什么Counter(r)不比{c:r.count(c)对c(set in(r)}中的c快100倍?【代码】

参见英文答案 > Why is collections.Counter much slower than ”.count? 2个设r是一个字符串,我们想要计算r中每个字符的数量.如果我们快速推理:Counter(r)大约快100倍{c:r.count(c) for c in set(r)}确实:在普通文本中,大约有100个不同的字符(上限/下限/标点/数字……)因此.count将在所有字符串r上运行100次而不是仅运行一次的计数器. 但是,时间与上述推理不一致(r是所有“指环王”书籍的内...

python – 根据参数类型设置issubset性能差异【代码】

为什么提出此问题呢 ? 我试图回答这个问题:Check if All Values Exist as Keys in Dictionary用比生成器理解更好的东西(python循环,即使在理解中,与某些函数执行的隐式循环相比减慢执行速度):all(i in bar for i in foo)bar是一个字典,foo是一个列表,使用set.issubset(转换为foo的设置,以便能够使用foo.issubset(bar)),并没有成功击败所有解决方案的时间(除非两个容器都转换为集合). 我的问题: 从set的文件:Note, the non-ope...

python – Scapy的低性能【代码】

我正在创建一个脚本,将来自Tap0的所有流量发送到Eth0,并将来自Eth0的所有流量发送到Tap0.在网上找到很多例子后,我设法让它发挥作用.我遇到的问题是性能非常低. 在不使用脚本的情况下在2个VM之间进行ping操作,所需时间不到1毫秒.使用脚本需要大约15ms. 当我使用scp从VM向另一个VM发送10 MB文件时,平均值.没有脚本,传输速率是12 Mbps.使用该脚本,它降至不到1 Mbps. 我知道Python实际上并不是处理网络流量最快的语言,但它是否会变慢?...

python – Scapy和tcpreplay:绕过临时文件以获得性能【代码】

Scapy有一个sendpfast函数,可以使用tcpreplay发送数据包.但是,此函数首先创建一个临时pcap文件,然后在其上调用tcpreplay.这增加了太多的延迟.反正有没有绕过它并直接发送数据到tcpreplay.我知道tcpreplay可以从STDIN读取数据. 上下文:我希望每秒生成大量流量(使用不同的srcIP)并通过网络发送.一种选择是将所有带有时间戳的流量保存在一个巨大的pcap文件中并运行tcpreplay.另一种选择是每秒发送数据.解决方法:不确定是否避免临时文...

Python:`dist`和`sdist`之间有性能差异吗?【代码】

Python setuptools可以创建源代码分发:python setup.py sdist # create a source distribution (tarball, zip file, etc.)或二进制分发:python setup.py bdist # create a built (binary) distribution据我了解,不应有任何性能差异: > bdist从二进制包安装已编译的.pyc文件.> sdist将.py文件编译为.pyc文件,然后安装它们. 执行时,编译.pyc文件的方式无关紧要 – 它们应具有相同的性能. dist和sdist python包之间有任何性能差异...

python – Native TF vs Keras TF的性能比较【代码】

我使用本机和后端张量流创建了完全相同的网络,但是在使用多个不同参数进行了数小时的测试之后,仍然无法弄清楚为什么keras优于原生张量流并产生更好(稍微但更好)的结果. Keras是否实施了不同的权重初始化方法?或者执行除tf.train.inverse_time_decay以外的不同重量衰减方法? 附:得分差异总是如此Keras with Tensorflow: ~0.9850 - 0.9885 - ~45 sec. avg. training time for 1 epoch Tensorflow Native ~0.9780 - 0.9830 - ~23 s...

python – 提高列表的性能【代码】

我有一个问题,我试图采取随机排序列表,我想知道有多少索引比当前元素更大的元素值比当前元素小. 例如:[1,2,5,3,7,6,8,4]应该返回:[0,0,2,0,2,1,1,0]这是我目前正在使用的代码.bribe_array = [0] * len(q) for i in range(0, len(bribe_array)-1):bribe_array[i] = sum(j<q[i] for j in q[(i+1):])这确实产生了所需的阵列,但运行缓慢.实现这一目标的更多pythonic方法是什么?解决方法:我们可以解决问题中的代码,但它仍然是一个O(n...

Python : 标准库-性能度量

有些用户对了解解决同一问题的不同方法之间的性能差异很感兴趣。Python 提供了一个度量工具,为这些问题提供了直接答案。 例如,使用元组封装和拆封来交换元素看起来要比使用传统的方法要诱人的多,timeit 证明了现代的方法更快一些。from timeit import Timer Timer(‘t=a; a=b; b=t’, ‘a=1; b=2’).timeit() 0.57535828626024577Timer(‘a,b = b,a’, ‘a=1; b=2’).timeit() 0.54962537085770791相对于 timeit 的细粒度,:mod:...

python – 如何提高这种递归函数的性能?【代码】

我正在尝试编写一个函数来搜索str的substr,考虑到编写奇怪字母的不同可能性,例如丹麦语中的,,.例如,您可以搜索’lborg’,如果有,在str中说’Aalborg’,函数将返回true. 以下功能有效,但性能难以忍受.你会建议什么来提高性能?def danish_tolerating_search(substr, str):'''Figure out if substr is in str, taking into accountpossible deviations in writing letters ?, ?, ?.? <-> ae a ea? <-> oe o? <-> aa a o'''# no...

python – django模板性能

哪个在Django中效率更高:使用模板语言渲染对象?或者使用python语言通过templatetag函数推送代码来渲染对象?解决方法:这个问题有点荒谬.模板总是比手动调整的渲染解决方案慢,但模板标签仍然需要通过模板机器运行,所以你在那里失去了任何优势.如果您想要超高效率,请考虑将所有HTML编写为Python字符串数组,将它们连接()一次,然后将HTML作为HTTPResponse对象的主体传回. 或者,您可以尝试所有三个并对其进行分析.由于我们不知道您的代...

python – 改进嵌套循环性能【代码】

我正在用Python进行氩气液体的分子动力学模拟.我有一个稳定版本运行,但它运行缓慢超过100个原子.我发现瓶颈是以下嵌套的for循环.这是一个强制计算放在一个从我的main.py脚本调用的函数中:def computeForce(currentPositions):potentialEnergy = 0force = zeros((NUMBER_PARTICLES,3))for iParticle in range(0,NUMBER_PARTICLES-1):for jParticle in range(iParticle + 1, NUMBER_PARTICLES):distance = currentPositions[iPartic...