|
1
2
令我稍感意外的是,我实际上无法击败使用Cython类型的memoryview的您的版本-numpy迭代器看起来相当快。不过,我认为我可以显著提高可读性,让您使用Python切片语法。唯一的限制是,输入数组必须是C连续的,这样可以很容易地重新调整它的形状(我认为Fortran连续的也可以工作,但是我还没有测试) 基本技巧是展平选定轴前后的所有轴,使其成为已知的三维形状,此时可以使用Cython MemoryView。
速度比你的版本稍微慢一点。
在改进代码方面,可以用双倍而不是字节计算跨距(
|
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
tTt · 使用堆栈中的值重新分配指针 1 年前 |
|
|
manuel · 现代C中空指针的替代方案++ 1 年前 |