关于cython中的内存视图,使用NumPy类型(如np.float_t)键入视图是否有任何优势,而不是简单地在我使用numpy浮点数组时执行双操作?我应该以同样的方式输入cdef,做e. G.ctypedef np.float64_t np_float_t...@cython.p...

关于cython中的内存视图,使用NumPy类型(如np.float_t)键入视图是否有任何优势,而不是简单地在我使用numpy浮点数组时执行双操作?
我应该以同样的方式输入cdef,做e. G.
ctypedef np.float64_t np_float_t
...
@cython.profile(False)
@cython.wraparound(False)
@cython.boundscheck(False)
cdef np_float_t mean_1d(np_float_t [:] v) nogil:
cdef unsigned int n = v.shape[0]
cdef np_float_t n_sum = 0.
cdef Py_ssize_t i
for i in range(n):
n_sum += v[i]
return n_sum / n
解决方法:
如果你查看cython中包含的numpy头文件(例如在master分支中,它是__init__.pxd),你会发现
ctypedef double npy_double
和
ctypedef npy_double float_t
换句话说,float_t是double,因此使用np.float_t应该没有任何优势.
沃梦达教程
本文标题为:python – Cython:对于类型化的内存视图,我应该使用np.float_t而不是double


基础教程推荐
猜你喜欢
- pytorch和tensorflow计算Flops和params的详细过程 2022-08-30
- windows下python虚拟环境virtualenv安装和使用 2023-09-05
- centos7安装python3.5后文件不兼容问题 2023-09-03
- Python 多线程爬取案例 2022-08-30
- 如何利用Python实现自动打卡签到的实践 2023-08-11
- python通过内置模块监控磁盘、内存、CPU、负载 2023-09-03
- linux的shell后门尝试以及python快速转C 2023-09-03
- 如何使用PySpark加载IPython shell 2023-11-16
- 阿里云服务器部署python项目(Ubuntu) 2023-09-03
- python-使用串行对象作为参数的多进程 2023-11-12