cython 中融合类型的替代品

2024-01-16

我正在努力使用 python-C api 将最初用 C 编写的 python 模块重写为 Cython。该模块还使用 NumPy。该项目的一个主要挑战是保持模块当前的速度,并且它应该适用于所有 Numpy 数据类型。我正在考虑使用融合数据类型使其通用,但我担心它对性能的瓶颈影响。是否有任何其他技术可以用来代替融合类型,我可以用它来实现速度和通用代码。


忽略 ali_m 关于您是否真正测量了性能问题的完全有效的评论......

http://docs.cython.org/src/userguide/fusedtypes.html#selecting-specializations http://docs.cython.org/src/userguide/fusedtypes.html#selecting-specializations

“对于从 Cython 调用的 cdef 或 cpdef 函数,这意味着专门化是在编译时确定的。对于 def 函数,参数在运行时进行类型检查,并执行尽力而为的方法来确定需要哪种专门化。”

本质上,如果您从 Cython 调用,应该没有问题 - 生成和使用单独的函数没有开销。如果您从 Python 调用,它显然必须停下来考虑调用哪一个。

但在担心之前先衡量一下你的表现! (并阅读手册,它非常清楚地回答了您的问题。)

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

cython 中融合类型的替代品 的相关文章

  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 将 numpy 数组写入文本文件的速度

    我需要将一个非常 高 的两列数组写入文本文件 而且速度非常慢 我发现如果我将数组改造成更宽的数组 写入速度会快得多 例如 import time import numpy as np dataMat1 np random rand 1000
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • Python Pandas 根据另一列的总计从另一个数据帧中选择值

    我下面有一个 DataFrame 但我需要根据取消和订单列从每个代码中选择行 假设代码 xxx 的阶数为 6 1 5 1 阶数为 11 我需要一种算法 可以选择满足总共 11 行的行 阶数为 6 5 如果没有行匹配 则选择最接近的 id 并
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • PyTorch DataLoader 对并行运行的批次使用相同的随机种子

    有一个bug https tanelp github io posts a bug that plagues thousands of open source ml projects 在 PyTorch Numpy 中 当并行加载批次时Da
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 对数据帧的每 2 小时数据进行 Groupby

    我有一个数据框 Time T201FN1ST2010 T201FN1VT2010 1791 2017 12 26 00 00 00 854 69 0 87 1792 2017 12 26 00 20 00 855 76 0 87 1793
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 长/宽数据到宽/长

    我有一个数据框 如下所示 import pandas as pd d decil 1 decil 1 decil 2 decil 2 decil 3 decil 3 decil kommune AA BB AA BB AA BB 2010
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • WT:将多行粘贴到 Windows 终端而不执行

    在原始 PowerShell 控制台中 可以在执行之前粘贴和编辑多行命令 例如这个多行脚本 Write Host 1 Write Host 2 Write Host 3 Write Host 4 产生以下输出 不幸的是 在 Windows
  • 如何批量获取字符串中某个字符的位置

    我有一个结果字符串保存在变量中RES 这个结果类似于2 3 5 0我想在 并通过一个将其发送到批处理输出ECHO命令 我一直在搜索如何使用批处理命令来执行此操作 但只得到将子字符串设置为固定位置的结果 但我如何知道这个位置 如果我知道这个职
  • ([![]]+[][[]])[+!+[]+[+[]]] 为什么以及如何计算为字母“i”? [复制]

    这个问题在这里已经有答案了 在读的时候这篇文章发表在 dzone http java dzone com articles dynamic languages have jumped我最初找到了一段 JavaScript 代码马库斯 拉格格
  • RedirectToAction 在特定操作(进程)中不起作用

    我有一个 Ajax 调用 它将调用一个名为submit在控制器中提交表单 其中如下所示 if CSConfigurationMgr IsMobileUrl Request UrlReferrer AbsoluteUri PathFromUR
  • 强制 iPhone 模拟执行 CPU 密集型任务?

    对于普通的应用程序 您永远不想这样做 但是 我正在制作一个教育应用程序 向人们展示不同的线程模型在不同的 iPhone 硬件和操作系统级别上到底会发生什么 OS 4 从根本上改变了不同的模型 IME 许多现有代码在 OS 4 上运行时不起作
  • 哑组件可以使用/渲染 redux 容器组件吗?

    In the 入门 https egghead io lessons javascript redux extracting container components filterlink guidelinesModalRedux 的视频中
  • 槽在哪个线程中执行,我可以将其重定向到另一个线程吗?

    在了解更多相关知识的同时Qt 中的信号 槽机制 http doc qt io qt 5 signalsandslots html 我很困惑插槽在哪个上下文中执行 所以我编写了以下示例来测试它 from PyQt5 Qt import I k
  • Android:直接启动正在开发的activity/fragment

    有时您必须向现有应用程序添加新的活动 片段 此活动 片段可以嵌套 以便为了访问它 用户必须打开应用程序并在到达它之前浏览 UI 的多个部分 在开发这个新的活动 片段时 每次进行更改时 我都必须重新编译整个应用程序 启动它并导航到显示新活动
  • 未显示“修订”或“请求”按钮来接受更新的 Apple 开发者计划许可协议

    我正在尝试创建新的应用程序 但 iTunes 连接顶部它向我显示以下消息 协议 税务和银行业务 需要审查更新后的 Apple 开发者计划许可协议 为了更新您现有的应用程序并向应用程序商店提交新应用程序 具有法律角色 团队代理 的用户必须在开
  • 在react中逐个使用不同类css的好方法?

    如果温度处于不同区域 我想使用不同的颜色 这是我的代码 const weatherColor setWeatherColor useState temperature humidity const colour temp hum gt le
  • C++ 中“this”指针的用途是什么? [复制]

    这个问题在这里已经有答案了 目的是什么this关键词 类中的方法不能访问同一类中的其他对等成员吗 什么情况需要打电话this在类中调用对等方法 两个主要用途 To pass this or this作为其他非类方法的参数 void do s
  • 下拉菜单对 php 页面上的查询结果进行排序

    我有一个简单的列表类型 php 页面 它根据 mysql 查询列出项目 例如 mysql select db database connBHN connBHN query rsMarket SELECT FROM my items WHER
  • PointerDownThemeAnimation 应用程序停止 WP8

    我很困惑为什么我的应用程序关闭 我添加了 PointerDownThemeAnimation 并且它工作正常 但只有一次 当我尝试再次单击它时 应用程序停止 为什么 这是我的代码 private void staryrynek1 objec
  • 使用 Babel.js 进行 Transpile Async Await 提案?

    有提案引入C 风格async await 我知道 Babel js 将 ES6 转译为 ES5 但是有没有办法让它将 async await 转译为ES5 Babel v6 从 Babel v6 开始 Babel 本身不再包含任何 Tran
  • 信号如何与序列点交互?

    C89 标准规定 At sequence points volatile objects are stable in the sense that previous evaluations are complete and subseque
  • VueJS 从不同的路线滚动到部分

    我正在尝试使用 Vue 和 Vue Router 使用历史模式 滚动到页面上的锚点 在索引页上时 滚动行为通过跳转到该部分按预期工作 但是 当我在另一个页面时 它会在顶部加载索引页面 而不是锚点指向的位置 我确信这是一件非常简单的事情 但我
  • 如何在页面底部创建dock式工具栏?

    like in http www online photoshoptutorials com 2008 08 folding corners html http www online photoshoptutorials com 2008
  • 如何将参数传递给事件处理程序?

    我有一个函数对象 我想使用 jquery 在单击时向其传递参数 但它不起作用 我不明白其背后的概念 谁能解释一下我哪里出错了 让您正在调用的函数在闭包中返回一个具有名称的函数 并通过参数传递 div click fn clik Mike v
  • 将图像添加到 Tkinter Entry

    使用 tkinter 我尝试在条目小部件的边框内显示图像 我尝试在谷歌中搜索 但没有成功 有人知道该怎么做吗 没有任何功能或属性允许图像位于 Entry 小部件的边界内 但是 您可以很容易地模拟它 方法是将图像和条目小部件放入框架内 从条目
  • cython 中融合类型的替代品

    我正在努力使用 python C api 将最初用 C 编写的 python 模块重写为 Cython 该模块还使用 NumPy 该项目的一个主要挑战是保持模块当前的速度 并且它应该适用于所有 Numpy 数据类型 我正在考虑使用融合数据类