cython相关内容

我如何才能加速我编写的Python代码:使用空间搜索的球体接触检测(碰撞)

我正在处理一个球体的空间搜索案例,我想在其中找到连接的球体。为此,我在每个球体周围搜索中心与搜索球体中心的距离为(最大球体直径)的球体。一开始,我尝试使用Scipy相关方法,但与等价NumPy方法相比,Scipy方法耗时更长。对于Scipy算法,首先确定K-近邻球体的个数,然后再用cKDTree.query查找,这样会耗费较多的时间。然而,即使通过省略带有常量值的第一步(在这种情况下省略第一步是不 ..
发布时间:2022-08-09 20:38:37 其他开发

动态重新加载Cython模块

我正在尝试自动更新我的python程序动态使用的Cython.so模块。在我下载新模块和del module和import module之后,Python似乎仍在导入旧版本。 在this question中,我尝试了此操作,但不起作用: from importlib import reload import pyximport pyximport.install(reload_supp ..
发布时间:2022-07-03 23:31:41 Python

Cython中的C++结构继承

我正在用cython包装一个C++库。在头文件中,有一些继承自其他结构的结构,如下所示: struct A { int a; }; struct B : A { int b; }; 这在我的cdef extern...块中应该是什么样子? 推荐答案 Using C++ in Cython未提及任何特殊内容: #file: pya.pyx cdef ex ..
发布时间:2022-04-04 13:13:59 C/C++开发

从python回调到c++的选项

您好,我一直在尝试使用cython从C++调用一个由用户定义的Python回调。但是,如果没有对C++端或静态函数缓冲区的更改,这看起来是不可能的。 那么,绑定Proper回调只有一个选项吗(ctype与CFuncYPE)? Cython0.29.23 A.hpp: typedef void (*Callback) (); class A{ Callback callb ..
发布时间:2022-04-04 13:11:30 C/C++开发

哪个是更快的np.vSTACK、np.append、np.comatenate,还是用cython编写的手动函数?

我编写了一些程序,在每次迭代中更新numpy列表,并对其执行一些操作。迭代次数取决于时间。例如,在1秒内,可能会有1000到2500次迭代。这意味着对于运行程序1秒,数字列表中的项不会超过2500个。 我实现了一个基本算法,但我不确定它是否是计算bonus的最快方法: import numpy as np cdef int[:, :] pl_list cdef list pl_len ..
发布时间:2022-04-04 13:09:17 Python

从Numba JILED代码调用Cython函数

我知道Numba-jited函数调用另一个jited函数会识别到这一点,并自动使用快速的C调用约定,而不是通过Python对象层,从而避免较高的Python函数调用开销: import numba @numba.jit def foo(x): return x**2 @numba.jit def bar(x): return 4 * foo(x) # this wil ..
发布时间:2022-04-04 13:07:35 Python

如何在Windows上使用MinGW-W64创建C扩展/嵌入Python

是否可以(以及如何)使用MinGW-W64在Windows上构建Python的C扩展或嵌入Python? 让我们以以下cython扩展foo.pyx为例: print("foo loaded") 如果应该嵌入解释器,则可以通过cython -3 foo.pyx或cython -3 --embed foo.pyx从中生成C代码。 推荐答案 虽然并不真正支持mingw-w6 ..
发布时间:2022-04-04 13:05:53 Python

从Cython结构创建NumPy数据类型

以下是SCRICKIT中当前使用的Cython代码片段-学习二叉树, # Some compound datatypes used below: cdef struct NodeHeapData_t: DTYPE_t val ITYPE_t i1 ITYPE_t i2 # build the corresponding numpy dtype ..
发布时间:2022-04-04 13:03:37 Python

Pxd相对cimport适用于Language_Level 2,但不适用于3

!当LANGUAGE_LEVEL=2时一切正常,但在LANGUAGE_LEVEL=3时无效 我必须用Cython包装c-库,我还想复制库的结构,以便更好地理解。所以我想用pxd文件创建单独的文件夹。 项目结构如下: setup.py: from setuptools import setup, Extension from Cython.Build import cytho ..
发布时间:2022-04-04 12:56:01 其他开发

筛选NumPy数组

假设我有一个NumPy数组arr,我想要按元素进行筛选,例如 我只想获取低于某个阈值k的值。 有几种方法,例如: 使用生成器:np.fromiter((x for x in arr if x ..
发布时间:2022-04-04 12:53:40 Python

Cython 容器不会释放内存吗?

当我运行以下代码时,我希望一旦执行了 foo(),它所使用的内存(主要是创建 m)将被释放.然而,事实并非如此.要释放此内存,我需要重新启动 IPython 控制台. %%cython# distutils: 语言 = c++将 numpy 导入为 np从 libcpp.map cimport map as cpp_mapcdef foo():定义:cpp_map[int,int] 米诠释我对于 ..
发布时间:2022-01-24 20:52:44 Python

LNK1181:无法打开输入文件“m.lib"

在尝试安装某个 Python 地球物理工具包时,我收到此错误: LINK : 致命错误 LNK1181: 无法打开输入文件 'm.lib' 我相信这是因为我使用了 MSVC 的构建工具.在他们的 setup.py 我发现: setup(..., ext_modules=[ Extension(..., [...], libraries=['m'], ... ]) 我需要在此 set ..
发布时间:2022-01-15 23:00:12 Python

尝试在 Kivy Complete VM 上生成简单 apk 时出错

Windows 10 x64 VirtualBox 6.1 Kivy Complete VM 0.7 我正在尝试生成一个简单的 apk 文件,但它总是返回错误,我试图删除虚拟机并重新创建它,认为这是我之前完成的一些配置的结果.我是编程新手,在网上没有发现同样的错误,也不知道如何解决. “/home/kivy/Desktop/teste/main.py"中的代码: 从 kivy.a ..
发布时间:2022-01-15 09:43:53 其他开发