问题标签 [timeit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么 numpy.all 比 python 标准 all 慢得多?
我编写了一个脚本来对我们的本地集群进行一些排名顺序相关性计算。计算涉及查看两个数组,X
长度Y
为 5000-10000,并提取数量
数千次计算(因为我洗牌X
/Y
除其他外)。
我们的一个集群正在运行 python2.4,所以我将all
s 更改为numpy.all
s。然而,我估计需要大约 5-6 小时的计算达到了 24 小时以上。这促使我进行调查。
这是一些示例代码:
任何线索为什么numpy.all
需要 50 倍的时间来计算这个?是numpy.array
开销吗?
编辑:我的原始数组numpy.array
不像他们在这里(np.random.rand
)。all
在我需要更改线路之前,我什至根本没有使用 numpy 。但是,我已经用类似的东西替换了我的循环
这将初始开销的运行和大约 3000 个这些循环的计算速度提高了 60% 左右。谢谢!我将寻找更多使用 numpy 进行优化的方法。
python - 为什么“from [Module] import [Something]”比“import [Module”花费更多时间
我曾经python -mtimeit
测试并发现它需要更多时间来from Module import Sth
比较import Module
例如
其他情况相同。有人可以解释背后的理由吗?谢谢!
python - Python命令行参数分号循环错误
我正在尝试,python -mtimeit
所以我把python -mtimeit "n = 0; while n < 10: pass"
然后出现了一个无效的语法错误。与分号和 for 循环相同。
但是,当我尝试分号并单独循环时。两者都工作得很好。
为什么会这样,如何在 timeit 中测试 while 循环?非常感谢!
python - Python:有没有办法使用 timeit.timeit() 导入变量?
假设我有一些函数需要一个数组并将每个元素都更改为 0。
我想测试这个函数在一个随机数组上运行需要多长时间,我希望在 timeit 测试之外生成它。换句话说,我不想将生成数组所需的时间包含在时间中。
我首先将一个随机数组存储在变量 x 中并执行以下操作:
但这给了我一个错误: NameError: global name 'x' is not defined
我怎样才能做到这一点?
python - 尝试使用 timeit.timeit
我想测量两个代码的运行时间,我尝试在python文档中查找timeit,但我并不太明白。有人可以用更初级的词汇来解释吗?
python - 计时函数时如何使用timeit
首先让我说我对 python 几乎一无所知,但必须用三种不同的语言编写程序(已经用 java 和 c++ 完成)。
我需要能够为方法的执行计时一定次数,然后打印整个执行时间所花费的时间。
IE
我有函数A
(这是performSearch(arrayTest)
一个arrayTest
已知大小的数组)。A
执行 10 次
我需要能够计算从执行之前A
到执行之后需要多长时间A
。
python - Python:创建大型唯一值数组时出现内存错误
我正在学习 python,我遇到了一个问题,要求使用 timeit 评估长度为 10^8 的随机输入集的运行时间。我知道如何使用 timeit,但我无法创建大小为 10^8 的数组。下面,我展示我的方法。
为了得到数组,我试着这样做:
但我遇到了内存错误。有任何想法吗?
python - 从解释器和命令行使用 timeit 的时间差异
从口译员那里,我得到:
从命令行,我得到:
为什么这两种情况下的时间大小有这种差异?
python - 在 ipython 中使用 timeit 的问题
我很快尝试在 ipython 中计时 2 个函数,m1()
并 m2()
使用 2 个不同的实现来执行相同的任务。
结果:第一个实现几乎快了 2 倍。到目前为止,一切都很好。
出于好奇,我改变了for
上面循环的范围,现在我对输出的意义感到茫然。
for 循环到底在做什么?为什么循环数的值会随着范围值的增加而减少?
PS:我用这个作为参考。另外,如果它不能准确地表达我的问题,请将标题编辑为更好的东西。