Cython:(为什么/何时)使用 Py_ssize_t 进行索引是否更好?

2024-03-25

这是后续这个问题 https://stackoverflow.com/questions/20978938/cython-should-i-use-np-float-t-rather-than-double-for-typed-memory-views.

(为什么/何时)最好使用Py_ssize_t用于索引?在里面docs http://docs.cython.org/src/userguide/numpy_tutorial.html我刚刚发现

# Purists could use "Py_ssize_t" which is the proper Python type for
# array indices.

-> 这是否意味着在索引 NumPy/Cython 时始终应该使用数组/视图Py_ssize_t?

-> 是Py_ssize_te. G。一个unsigned int让我无法使用@cython.boundscheck(False)


Py_ssize_t已签署。看PEP 353 http://www.python.org/dev/peps/pep-0353/,它说“引入了一种新类型 Py_ssize_t,它的大小与编译器的 size_t 类型相同,但已签名。如果可用,它将成为 ssize_t 的 typedef。”

你应该使用Py_ssize_t用于索引。我在 Cython 文档中没有找到对此的明确声明,但 Cython 开发人员 Stefan Behnel 在一封电子邮件中说了这么多(https://groups.google.com/forum/#!topic/cython-users/brENF_M9zxM https://groups.google.com/forum/#!topic/cython-users/brENF_M9zxM):

一般而言,您使用整数作为索引。你应该 使用 Py_ssize_t 类型代替(或 size_t,如果您更喜欢 无符号类型)以正确适应 64 位体系结构。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cython:(为什么/何时)使用 Py_ssize_t 进行索引是否更好? 的相关文章

随机推荐

  • 自定义提交按钮

    如何创建提交按钮 并在其上定义自定义标题以及自定义类样式 你可以使用submit http book cakephp org view 1431 submit or button http book cakephp org view 141
  • 导出/下载各种格式的闪亮传单地图?

    我创建了一个闪亮的仪表板来分析芝加哥的犯罪行为 因此 我还制作了芝加哥的传单地图 我们可以根据标记看到芝加哥哪个地区发生了多少犯罪事件 我有三个过滤器小部件 日期 犯罪类型和位置 基于这 3 个小部件 用户可以随意使用 并且每次都会使用所选
  • Tensorflow Estimator API:如何从输入函数传递参数

    我正在尝试添加类权重作为模型的超参数 但为了计算权重 我需要读取输入数据 这发生在 input fn 内部 然后传递给estimator fit 输出为input fn只是特征 标签应该具有相同的形状 num examples num fe
  • 在 VBScript 中格式化 XML 字符串

    我有一个未格式化的 xml 字符串 没有空格 我想创建一个 VBScript 函数 该函数接受该字符串作为其参数 并使用制表符和换行符格式化 XML 我仔细浏览了网络并接近了这个http blogs msdn com b robert mc
  • 在生产中运行 Django-Celery

    我构建了一个 Django Web 应用程序和一些 Django Piston 服务 用户使用 Web 界面提交一些数据 这些数据被 POST 到 Web 服务 而该 Web 服务又使用 Django celery 启动后台任务 使用man
  • TensorFlow 优化器中的 _get_hyper 和 _set_hyper 是什么?

    我看到它在 init 例如Adam https github com tensorflow tensorflow blob r2 2 tensorflow python keras optimizer v2 adam py L145优化器
  • 如何在 Jetpack Compose 中使用 Coil 制作缩写图标

    所以我使用 Coil 库进行图像处理 我注意到在占位符中它只需要一个 int 但是 如果用户没有头像或出现任何错误显示缩写 我想显示缩写 如下图所示 问题是 我是 jetpack compose 的新手 不确定如何实现这一目标 请参阅下面的
  • 当操作系统只是进程之一时,抢占式多任务处理如何工作?

    我现在正在阅读有关先发制人的多任务处理的材料 但我忘记了一件事 所有材料都暗示 操作系统以某种方式从 外部 中断了CPU上正在运行的进程 从而导致了上下文切换等 然而 我无法想象当操作系统的内核只是 CPU 上的另一个进程时 这将如何工作
  • 在 IE 中 XML 未通过响应对象正确发送到客户端

    我有一个上传控件 它从客户端调用处理程序 并将 xml 字符串发送回客户端 下面的代码在 Chrome 中工作正常 但在 IE 中将奇怪的 xml 发送回客户端 处理程序代码 public void ProcessRequest HttpC
  • 使用类似字典的结构访问 Pandas 数据框中的嵌套元素

    我有一个数据框如下 In 19 data frame Out 19 id hero 0 55c97138e5fecec26959f3b0 u info u id u 0001 u name u superman 为了过滤掉条目的名称字段 我
  • 分发 .pyc 文件有哪些限制?

    我已经开始使用 Python 开发商业应用程序 并且正在权衡如何分发该应用程序的选择 除了显而易见的 使用适当的商业许可证分发源代码 之外 我正在考虑仅分发 pyc文件没有对应的 py来源 但我对 Python 的兼容性保证还不够熟悉 不知
  • 如何设置事件的EventTarget

    如何设置事件目标 https developer mozilla org en docs Web API EventTarget一个事件的 var myObj foo bar var event new Event eventName ev
  • PEG规则识别函数原型

    我正在尝试创建一个可以解析 C 代码的解析器 我的用例是解析可能包含函数原型的缓冲区 我想将此函数名称推入符号表中 我是 Spirit 和 PEG 的新手 我正在尝试弄清楚如何编写可以识别函数原型的规则 这是我当前的实现 auto name
  • CancellationToken.ThrowIfCancellationRequested 之后出现故障与取消的任务状态

    通常我不会发布带有答案的问题 但这次我想引起一些注意 我认为这可能是一个晦涩但常见的问题 它是由这个问题 https stackoverflow com q 24346706 1768303 从那时起我回顾了自己的旧代码 发现其中一些也受到
  • UITextview打字属性不起作用

    我有 UITextView 我想将其行高设置为 50 0f 所以我使用打字属性 但没有任何效果 我的代码在 ViewDidAppear 方法中像这样 UITextView textView UITextView alloc initWith
  • java中RGB转灰度、bmp图像

    我的老师给我们布置了一个任务 要制作一个采用 640x480 bmp 彩色图像的课程 将其转换为灰度图像 我找到了一些有想法的资源 所以我做到了 但是有一个问题 因为它似乎使它不会给我错误 但输出没有出现 我认为这是我的代码 我的代码是 i
  • IntelliJ IDEA:ClassNotFoundException 如果运行调试,执行/运行确实有效

    我在 Eclipse 中启动了一个 Java Maven 项目 处理了几天 然后将其导入到 IntelliJ IDEA 中 再次处理了几天 IDEA 和 shell 中的正常运行 执行确实有效 但调试无效 当我单击调试的 Bug 图标时 它
  • Java 的反射器?

    Java 有没有相当于 NET反射器 http www red gate com products reflector 编辑 更具体地说 反编译是我所追求的 See 如何反编译Java类文件 https stackoverflow com
  • 有人将 Node.js 与 Amazon SNS 和 Apple 推送通知一起使用吗?

    我正在寻找将 node js 与 Amazon SNS 和 Apple APN 推送通知结合使用的示例 我们使用 Amazon 进行托管 我以前也使用过 SNS 这非常简单 但他们提供的推送通知示例是针对 java 的 没有针对 Node
  • Cython:(为什么/何时)使用 Py_ssize_t 进行索引是否更好?

    这是后续这个问题 https stackoverflow com questions 20978938 cython should i use np float t rather than double for typed memory v