V2EX wcsjtu
 wcsjtu 最近的时间轴更新
wcsjtu

wcsjtu

V2EX 第 254827 号会员,加入于 2017-09-17 16:25:07 +08:00
今日活跃度排名 18518
wcsjtu 最近回复了
是国企总部,还是科技子公司, 这俩差距还挺大。 一般给这么多钱的国企, 都不会稳定的。
2022-10-24 10:44:24 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struc 类型的 hindley-milner 实现
@secondwtq 非常感谢。 目前我们是打算用 Python 写业务逻辑,然后转 C++。 完全禁用了 Python 的动态特性,所以可以把 Python 看做静态语言。subtyping 问题, 能够用强制类型标注的手段解决么?

大佬给的这三个链接信息量非常大, 我去好好阅读下。
2022-10-21 11:44:34 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
@secondwtq 多谢大佬。

1. 我理解,像

```python
def foo(x):
y = x.双十一
```
这样的代码, 确实推断不出来 y 的类型。但是如果有上下文,或者有类型标注, 应该还是推出来吧。

2 . 我理解`x.y`和`x[y]`应该是比较类似的, 如果知道了 x 的类型, 那么`x.y`或者`x[y]`也就比较好推断了。 但是如果`x`类型未知,是不是应该把`getattr`/`getitem`操作记录 HM 的方程里面, 等 unify x 时再去真正执行`getattr`/`getitem` ?

3 . subtyping 好像是比较麻烦,如果在语法层面,把类继承禁用,是不是就没有 subtyping 的问题了呢?

4. 我去学习一下 Typeclass ,Row Polymorphism
2022-10-21 10:59:27 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
@Austaras 多谢大佬,我去学习下什么是 row polymorphism
2022-10-20 14:30:36 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
@Austaras 大佬能给个搜索关键字吗, 我不是 PL 背景出身……行业黑话看不懂啊
2022-10-20 14:29:05 +08:00
回复了 wcsjtu 创建的主题 Python 有没有老哥推荐一个支持 struct 类型的 hindley-milner 实现
@pisc 多谢大佬。我们之前做了一个"Python" ==> C++的 transcompiler 。 但是没有静态检查,导致 Python 代码有问题不能在 Python 层发现, 得编译生成的 C++代码才知道。 没有类型信息,一些 high level 的优化也没办法做。所以想着 HM 能不能解决我的问题。

这里的"Python"是一个 Python 非常小的子集,只支持非常小部分的语法、类型和标准库。其中类型只有 str/int/float/complex/list/dict/tuple/deque/set 和 `dataclass`。 所以做类型推导应该没那么难.....

我没有系统学过 PL 方面的知识, 所以想找些 demo ,我去参考一下, 再照着写……
2022-09-30 14:49:50 +08:00
回复了 hhhhhh123 创建的主题 程序员 Python 读取 500M .pkl 文件,却用了 8 G 内存
getsizeof 不会递归统计内存,你得到的只是最外层容器的内存占用值。自己写个函数去递归统计吧,这样的数据才是相对准确的
2022-09-30 14:40:08 +08:00
回复了 DaChuiZi 创建的主题 Python Python 多层 for 循环性能如何提高
@xsourse 这种情况,numba 没用的,绝对是负优化。
2022-09-29 11:47:10 +08:00
回复了 DaChuiZi 创建的主题 Python Python 多层 for 循环性能如何提高
思路一:修改逻辑, 不要用 for 循环
思路二:实在要用 for ,改成 C/C++循环, 可以使用 mypyc 编译该部分代码, 也可以用 cython 编译。mypyc 有语法要求, 性能稍微好一点。cython 可以直接编,性能比较差,但是还是远比 Python for 循环好

我们团队搞了一个专门为 Python 业务逻辑加速的编译器,性能吊打 cython/mypyc/pypy , 可惜不能开源.......
2022-09-23 16:38:33 +08:00
回复了 jeeyong 创建的主题 Python 如何提高 Python 数组操作性能.
应该是代码里出现了大量的 for 循环,以及大量的__getitem__/__setitem__操作才慢的。numpy.ndarray 的随机读取性能确实不如 builtins.list 。因为`ndarray[i]` 需要 new 一个 PyLongObject 出来,而`builtins.list[i]`只需要 refcnt++。

楼主这个问题, 如果用 numpy 的话, 就得摆脱面向过程的思想, 用函数式来做。numpy 的 broadcast 机制应该能实现楼主想要的功能。需要稍微学习一下。

如果不想用 numpy 的话, 只能用预编译或者 jit 方案来加速了。 既然楼主已经试过 numba 了, 我推荐另一个工具 pythran. 性能与 numba 差不多, 但是比 numba 好用
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2364 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 18ms UTC 15:59 PVG 23:59 LAX 08:59 JFK 11:59
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86