标签: pypy

Python:进程平均时间,前一个/两个慢得多

我正在编写一些使用Python进行排序算法比较的程序.我想测量平均排序时间.我第一次测量时遇到问题.

这个:

for i in xrange(self.repeats):
    # random list generator
    data_orig = [random.randint(0, self.size - 1) for x in xrange(self.size)]

    sorter = self.class_()
    data = data_orig[:]
    debug("%s for data size: %d, try #%d" % (sorter.__class__.__name__, self.size, i+1))
    t1 = time.clock()
    sorter.sort(data)
    t2 = time.clock()
    debug("Took: %0.4fms, shifts: %d, comparisons: %d" % ((t2-t1)*1000.0, sorter.shifts, sorter.comps))
Run Code Online (Sandbox Code Playgroud)

class_是对InsertionSort类的引用.对于size = 1000和5次重复,我得到以下结果:

InsertionSort for data size: 1000, try #1
Took: 39.5341ms, shifts: 254340, comparisons: 255331
InsertionSort for data size: 1000, try #2
Took: 6.0765ms, …
Run Code Online (Sandbox Code Playgroud)

python performance pypy timer

1
推荐指数
1
解决办法
103
查看次数

PyPy 中的 SQLAlchemy 安装

我有一个数据库项目,它可以从 PyPy 提供的速度提升中受益匪浅。但是,我一直无法在 PyPy 下安装我正在使用的核心库之一 sqlalchemy。我把它放到 Site-Packges 目录中,但是 PyPy 对我大吼大叫,说它也需要 PyODBC,它的默认源代码不包括 python 文件,而只包括 .CPP 文件和头文件。非常感谢任何和所有帮助。

python database pypy sqlalchemy

1
推荐指数
1
解决办法
1604
查看次数

PyPy 上的 Sympy - 有时快 6 倍,有时慢 4 倍

在这里,pypy 计算速度较慢,无论给定数字是否为素数:

C:\Users\User>python -m timeit -n10 -s"from sympy import isprime" "isprime(2**521-1)"
10 loops, best of 3: 25.9 msec per loop

C:\Users\User>pypy -m timeit -n10 -s"from sympy import isprime" "isprime(2**521-1)"
10 loops, best of 3: 97.9 msec per loop
Run Code Online (Sandbox Code Playgroud)

在这里,pypy 在创建素数列表(从 1 到 1000000)时更快:

C:\Users\User>pypy -m timeit -n10 -s"from sympy import sieve" "primes = list(sieve.primerange(1, 10**6))"
10 loops, best of 3: 2.12 msec per loop

C:\Users\User>python -m timeit -n10 -s"from sympy import sieve" "primes = list(sieve.primerange(1, 10**6))"
10 loops, best of …
Run Code Online (Sandbox Code Playgroud)

python performance pypy sympy

1
推荐指数
1
解决办法
273
查看次数

Python或PyPy适用于小组和大型项目?

规划大型项目的早期阶段 - 选择框架的艰难决定:)

心里:

  1. "选择方式 - 快速运行".选择具有增长机会的技术,尽可能快地制作原型.
  2. "看看地平线 - 建造一艘船".了解范围,投资于艰难的决策但达到目标.
  3. "采取最好的 - 享受骑行".带上最好的团队,不要让他们沦陷.

从中选择:

HTML 5,CSS 3 - PyPy 1.4/CPython 3 + Pylons/Tornado/Django - CouchDB/MongoDB/Riak + Erlang?

第一步:团队中的3-4名开发人员+ 1名管理员+ 1名设计师.

设计师 - 视图+服务开发人员 - 管理员 - 平衡+结构开发人员

第二步:5-7名团队开发人员+ 2-3名管理员+ 1-2名设计师.

更新: Python +金字塔(Pylons)+ Couchbase(CouchDB)

python django pylons pypy couchdb

0
推荐指数
2
解决办法
839
查看次数

在Python中实现字符串函数?

有没有关于如何在Python中实现Python字符串函数的文档?

我知道str是一个内置模块,因此它的功能是用C实现的.但是不管它有代码吗?在Pypy怎么样?从我到目前为止所读到的,他们已经在Python中重新实现了许多内置模块.

示例问题:如何实现字符串的split方法?(没有编写我自己的实现)

编辑:我不是在寻找用C编写的实现(这是Python/CPython源代码中的默认实现).

python string implementation pypy

0
推荐指数
1
解决办法
1384
查看次数

PyPy和CPython:是否计划大幅提升性能?

虽然我知道有前途的大转速增益可导致让利起伏的项目,我没有看到一个路线图的方式多为加快CPython的和/或PyPy.

是否有计划的东西可以大大提高核心解释器的速度(例如--with-computed-gotos)?他们的标准库怎么样(例如C中的Decimal,C中的IO)?

我知道HotPy(2)概述了加速CPython的计划,但这听起来像是一个单人项目,在核心CPython中没有太多牵引力.

PyPy有一些关于性能不佳的信息,但我发现文档中的加速没有大的目标.

那么,是否有已知的目标可以为Python实现带来巨大的性能提升?

python performance jit pypy

0
推荐指数
1
解决办法
1095
查看次数

除了Gogle Cloud Functions中的标准版本之外,是否可以使用其他Python实现?

我是Google Cloud Functions的新手。我想编写一个小型但执行密集的应用程序。我研究了文档,目前尚不清楚在部署到Google Cloud Functions时是否可以使用PyPy或CPython。

pypy cpython python-3.x google-cloud-platform google-cloud-functions

0
推荐指数
1
解决办法
60
查看次数

pypy 可能比默认编译器慢的可能原因

我正在为学校做这个项目,我应该让脚本运行得更快,因为它非常慢。在过去的几个月里,由于我无法访问实际的脚本,因此我正在测试我编写的虚拟脚本,该脚本执行相同的任务。为此,我发现 pypy 与多处理一起使我的脚本运行速度至少提高了 10 倍。因此,在访问实际脚本后,我对其应用了多重处理并使用 pypy 运行它。然而,令人惊讶的是,与不使用 pypy 相比,使用 pypy 运行的代码运行速度慢了 2 倍,而不是显示出任何性能改进。可能是什么原因?实际的脚本使用 numpy、pandas 等库,并进行数据库连接以将输出写入稍后由 Web 服务器访问的进程。与 pypy 相比,numpy 或 pandas 在常规编译器中的编译速度是否更快?如果不是,还有什么可以解释这一点?另外,也欢迎任何加快速度的建议:)

PS Multiprocessing 已经被应用,它只比原始代码快大约 40 秒,这还不够。

编辑:在代码中添加 这是一个脚本,用于生成谁与谁接触了多长时间以及在哪里 - 医院的接触者追踪。基本上,它应该做的是,它读取一个 csv 文件,其中包含传感器在不同时间的所有位置,然后有一种算法可以生成所有联系人并将其写入数据库以供网络获取稍后服务器。

代码如下。它非常长,可能是我没有早点发布的原因:)

def resampleData(_beaconDevice, _timeInterval, _locationPtsX, _locationPtsY, 数据库):

database.child("contact").child("progress").set(20)
beaconData = pd.DataFrame({'timestamp': _timeInterval, 'Device': _beaconDevice, 'Beacon Longtitude': _locationPtsX, 'Beacon Latitude': _locationPtsY})
beaconData.set_index('timestamp', inplace=True)
beaconData.index = pd.to_datetime(beaconData.index)
beaconData = beaconData.groupby('Device').resample('S')['Beacon Longtitude', 'Beacon Latitude'].mean().ffill()
return beaconData
Run Code Online (Sandbox Code Playgroud)

def processTwo(connectedDev、temp、devicelist、increment、_patentlist、_beaconData、_start、_end、_devlist、_scale、数据库、用户、_distance):

for numPatients, patientName in enumerate(_patientlist):
    timestamp = _beaconData.loc[patientName, :].index.tolist()
    patientX = _beaconData.loc[patientName, …
Run Code Online (Sandbox Code Playgroud)

python pypy numpy multiprocessing pandas

-2
推荐指数
1
解决办法
2068
查看次数