- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我为测试 numba 编写的一些代码
import time
from numba import autojit
@autojit
def triple_count(num):
start = time.time()
count=0.0
r=range(num)
for i in r:
for j in r:
for k in r:
count += i*j*k
runtime=time.time()-start
rate=num/runtime
print "%0.4f seconds" % runtime
print "rate : %0.3f per second" % rate
print "count: %s" % count
注释掉@autojit时的结果
2.3796 seconds
rate : 126.073 per second
count: 9.0216784125e+13
使用@autojit时的结果
0.0000 seconds
rate : 8065969.231 per second
count: 0.0
这里出了什么问题?
最佳答案
我首先会以不同的方式计时,而不是在方法中插入计时调用,而是返回结果,然后对方法调用计时:
from numba import autojit
def triple_count(num):
count=0.0
r=range(num)
for i in r:
for j in r:
for k in r:
count += i*j*k
return count
triple_count_numba = autojit(triple_count)
对于 num=200
:
In [7]: triple_count(200)
Out[7]:
7880599000000.0
In [8]:triple_count_numba(200)
Out[8]:
7880599000000.0
In [9]: %timeit triple_count(200)
1 loops, best of 3: 747 ms per loop
In [10]: %timeit triple_count_numba(200)
100 loops, best of 3: 6.59 ms per loop
所以 numba 会产生与普通 python 相同的答案,并且得到的速度要快得多。使用 num=500
时,时间为 11.5 秒 vs 106 毫秒。我正在使用 numba 0.14.0。您可以在标准 python 脚本中以编程方式使用 timeit,但为了方便起见,我在 IPython 笔记本中使用 %magics 来使用它。
关于python - numba 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26154285/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!