首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中执行函数计算的更快方法?

在Python中执行函数计算的更快方法?
EN

Stack Overflow用户
提问于 2015-01-08 20:22:26
回答 1查看 120关注 0票数 0

我感兴趣的是,是否有办法进一步改进我最近收到的家庭作业中使用的函数的“快速”版本(我已经提交了完成的工作)。

代码语言:javascript
复制
from math import log

def func_fast(mass, density):
    return sum(map((log(mass * density)).__truediv__, range(1,10001)))

def func_slow(mass, density): 
    total = 0.0 
    for i in range(10000): 
        masslog = log(mass * density) 
        total += masslog/(i+1)

    return total

mass = 2.5 
density = 12.0

快速版本的时间约为2-2.5ish秒,而慢版本的时间为6-7秒。

EN

回答 1

Stack Overflow用户

发布于 2015-01-08 20:28:16

使用numpy:

代码语言:javascript
复制
import numpy as np

def func_faster(mass, density):
    return (log(mass*density) / np.arange(1, 10001)).sum()

这在我的机器上快了10倍。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27840058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档