V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  black11black  ›  全部回复第 7 页 / 共 28 页
回复总数  548
1 ... 3  4  5  6  7  8  9  10  11  12 ... 28  
2020-12-05 18:52:53 +08:00
回复了 kayseen 创建的主题 Python Python 异步网络请求,图像识别
一定要分步骤就不可避免的有状态了吧,要不然接数据库把状态转移出去,要不然合并消除状态本身,有状态没法部署啊
2020-12-05 18:45:50 +08:00
回复了 black11black 创建的主题 问与答 C++ STL 中查找速度最快的是什么数据结构?
有需要大量用到排序的数据结构,网上查了查似乎是 deque 最快,然而实测还是 vector 快,序列长度在一万左右。也是神秘
2020-12-05 18:44:35 +08:00
回复了 black11black 创建的主题 问与答 C++ STL 中查找速度最快的是什么数据结构?
@wctml 这方代码啥意思大佬,uo_map 的搜索比索隐快的多的意思吗?
2020-12-04 23:27:35 +08:00
回复了 black11black 创建的主题 问与答 C++ STL 中查找速度最快的是什么数据结构?
@secondwtq 大佬再问个事,有关插入,读取和删除的效率。目前需要对一个表类数据结构频繁操作,对应的是 py 的 list,插入,读取,删除我粗略估计在 5:10:3 这样的比例,用 vector 是正确选择吗?因为听说 vec 读取很快,但是删除开销很高。如果用链表的话哪个更合适?
2020-12-03 17:42:21 +08:00
回复了 black11black 创建的主题 问与答 C 语言指针传递的问题
@Jabin p0 是可以取值的比如 print p0 这种是可以执行的,但是不能加一,就很怪
2020-12-03 03:27:42 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
https://paste.ubuntu.com/p/cBgVXqWQJ8/

修正,上一楼代码有小错误
2020-12-03 03:25:31 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
试了一下,似乎在子 block 里新建对象并不需要 cdef 或者 new 之类的( new 在 cython 里似乎没有这个语法),直接 object()就能创建一个对象了。不过我定义结构体后看了一下 cython 生成的分析,似乎修改结构体当中的值仍然需要进行类型校正,似乎这部分是走的 python,并不能起到加速作用。

代码地址

https://paste.ubuntu.com/p/s4wk9QfqPB/

各位大佬指点一下最佳实践是什么,这么做开分析模式看的话感觉还是不太对
2020-12-03 03:09:53 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@mckelvin
@wevsty
感谢大佬回复,我现在的需求很普通就是有一张从数据库导过来的二维表,这种表结构一般在 python 里是做成表套表,或者表套字典,像这样 [[],[],...] / [{},{},...] 。处理过程放到 cpp 的话确实转换开销蛮高的,所以我理解应该不能进行一些比较细粒度的 c 加速,最好是整个流程完全跑 c,这样只经过一次导入导出转换。

如果不用 vector 的话怎么处理这种结构呢?我感觉 vector 还是挺合适的,因为 push 添加很轻松,不用考虑内存问题。我现在遇到的问题是,我不会动态向 vector 里添加对象,比如我写在 for 循环中 cdef 一个对象然后 push 进 vector 里,这种语法是不允许的
2020-12-02 13:16:35 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
遍地采坑啊。

又遇到一个问题,比如 python 当中,在循环过程中新建对象是个很正常的操作,比如下面这样

class A:

pass

lst = list()

for i in range(10):

lst.append(A())

但是在 cython 里并不能在循环内部进行 cdef,所以现在又卡了,不会循环新建对象。
2020-12-02 12:38:14 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
另外按照楼上老哥说的用 long long 类型以后确实程序能正常运行了。我测了一下,cython 里是有 sizeof 这个 bif 的,我测 void *p 是 8bit,而 long 是 4bit,整个人都是懵的。
2020-12-02 12:36:22 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@xuboying numba 有些黑魔法,不太喜欢用,以前测试过一些场景比纯 C 语言运行还快,不明原因。我这个环境里 jit 和 C 还是有比较大速度差距的,pypy 感觉在一些结构的实现上效率跟原生没啥区别,比如这种大字典寻址的
2020-12-02 12:25:28 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@lovestudykid 带佬指点一下怎么调,我在文档里搜索 compiler 相关的内容没看见能设置的选项,主要是这篇 https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html
2020-12-02 06:59:00 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@lovestudykid OK,可能是 64 位 python 用了 32 位编译器问题,大概吧。应该怎么修正呢? cython 通过 pip 装的,我不知道他用什么方法调用的编译器
2020-12-02 06:02:22 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@lovestudykid 感谢,是 c++声明的问题,一楼贴条里写了。另外出现了新的问题,带佬看看
2020-12-02 05:23:22 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@Tony042 是这样,现在情况是有一段 python 代码,预研一下 cython 如果合适的话准备改成 cython,看了一下你说的这个项目似乎是设计用来在已经有 cpp 代码的情况下接入 py 的
2020-12-02 05:21:48 +08:00
回复了 black11black 创建的主题 Python Cython 中如何调用 c++ 的模板库?
@lovestudykid 兄,一共就四行 import,这还用再贴一下报错报了什么么。。。再说 cython 咋看报错信息啊,又没有解释器,我都是编译过程中看报错。
@7gugu 我最近没冲过钱,以前是实时汇率兑换的,冲 50 美元到账 350 人民币左右,实际花费在七折左右
跟电脑玩你可以当字面意义上的大神,根本不用开作弊
显然 ,dota2 啊
1 ... 3  4  5  6  7  8  9  10  11  12 ... 28  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3934 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 04:14 · PVG 12:14 · LAX 21:14 · JFK 00:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.