高性能的Python扩展:第二部分
这篇文章是这系列文章的第二篇,我们的关注点在使用NumpyAPI为Python编写C扩展模块的过程。在第一部分中,我们建立了一个简单的N体模拟,并发现其瓶颈是计算体之间的相互作用力,这是一个复杂度为O(N^2)的操作。通过在C语言中实现一个时间演化函数,我们大概能以大约70倍来加速计算。如果你还没有看过第一篇文章,你应该在继续看这篇文章之前先看一下。在这篇文章中,我们将牺牲我们代码中的一些通用性来提升性能。Wrold是存储N体状态的一个类。我们的模拟将演化一系列时间步长下的状态。在开始模拟时,N体被随机分配质量m,位置r和速度v。对于每个时间步长,接下来的计算有:1.合力F,每个体上的合力
用户评论
推荐下载
-
BosonNetSimforCCNP7006第二部分
CCNP认证(思科认证网络专业人员)表示通过认证的人员具有丰富的网络知识。获得CCNP认证的专业人员可以为具有100到500多个节点的大型企业网络安装、配置和运行LAN、WAN和拨号访问业务。 一共5
32 2019-03-08 -
microwaveengineeringbyPozar微波工程第二部分
microwaveengineering第二部分,中文版的。
17 2019-05-19 -
RSViewStudio组态手册第二部分
RSViewStudio组态手册24MB上千页比较详细
22 2019-05-22 -
ext5第二部分
ext5第二部分
17 2019-04-11 -
pc2第二部分
pc2part2,功能强大的pc2,欢迎大家下载!
40 2019-04-17 -
COM技术内幕第二部分
介绍了com组件的原理及实现方法,对开发com组件大有裨益。
30 2019-05-15 -
Signavio源代码第二部分
Signavio源代码Signavio下载svn下载Signavio源代码bpm2.0web开发
29 2019-05-14 -
SN29500第二部分
SN29500是西门子的关于元器件失效率计算的标准,用于在功能安全FMEDA分析中使用,是FMEDA分析必备的输入之一。
24 2019-05-14 -
sturts2第二部分
因为不能大于50m,所以分两部分上传,struts2包第二部分,还有第二部分,我自己学习用的
23 2019-05-28 -
ICML2015第二部分
ICML2015论文全集第二部分
11 2019-05-28
暂无评论