V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 45 页 / 共 88 页
回复总数  1747
1 ... 41  42  43  44  45  46  47  48  49  50 ... 88  
2022-04-04 06:20:19 +08:00
回复了 plko345 创建的主题 Python 请教 StopIteration 为什么能捕获到结果
看了看 gist 原文,标题叫 loop_hack ,很清晰地表达了代码需求。

__await__魔术方法必需要返回一个可迭代对象,如果直接返回 self 的话,由于 Thing 本身没实现__next__方法,并不是可迭代对象,这里利用了 py 的 yield 特性,凡定义 yield 的函数例如 func ,在调用 func()时区别于默认的返回 return 值,作为替代会返回 func 的生成器对象,解决了必须返回可迭代对象的问题。同理可以使用以下代码:
```Python
class A:
def __iter__(self):
return (yield self)
for _ in A():
...
```
因为是非常莫名其妙的写法,所以作者也在标题里写了这是 hacking 。但是由于这里少写了一个换行导致语义很难理解,如果我做 codereview 会直接枪毙,实际上就是 input=yield self 然后 return input ,即将该对象作为只能激活两次的可迭代对象,第一次返回 self 第二次上浮 StopIteration ,后面的就很好理解了。
@lizytalk
@srlp
@janxin Pandas 确实很好用,但 pandas 无法覆盖 100%场景,即使 pandas 能覆盖 80%,其余的 20%原生代码成为性能瓶颈解决起来很头痛。而我看新框架有原生自定义 dll 插件的功能,感觉很有吸引力,但由于搜到的相关信息很少
@srlp 目前已有解决方案,发帖想询问一下新框架的提升空间
2022-03-31 16:52:20 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
@ziding 我觉得比起谨慎怀疑你为什么不直接用用看呢,毕竟 ubuntu 直装连编译都不用。。。pyston 因为本身 jit 的 hacking 比较少,你去看仓库可以看到报 bug 几乎都不存在的,但是这种四两拨千斤倒也确实是效果还不错毕竟纯运算性能已经接近 2x ,而内存增加相比之下非常少。。
2022-03-31 00:19:46 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
@agagega 确实,不过这个性能对比也是看个乐,定性分析尚可,定量图一乐,debian 列的测试项目偏向算法实现效率,跟实际生产环境还是偏离挺远的
2022-03-30 23:11:38 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
对 py 解释器性能比较关注,自己维护了个语言性能对比项目(基于 debian 的测试)。其实 py 解释器版本 3.9 以下最快的是 3.8 ,而 3.9 因为从 LL1 换成 PEG 似乎实机性能是还下降了一丢丢,3.10 有优化可以理解。理论上如果你需要开封即用的性能的话 dropbox 的谱 pyston 的实现由于未采用 pypy 的 cffi 类似方案所以不存在 c 类库兼容性问题,想要的话你可以立刻获得二倍性能的解释器,稳定性方面我司在日志服务和一些内部管理系统上用于生产环境未遇到问题。所以理论上有 pypy 和 pyston 在前面打样,guido 所说在未来几个版本里提升 4 倍性能的说法也完全不是什么天方夜谭。

https://i.imgur.com/xL1sfXi.png
@villivateur 严格来说跑起来的服务只要不关超过 5 年很正常,20 年不动的服务也是有的
2022-03-28 21:14:13 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@wcsjtu 用 ast 模块是一种方案,但是离不开反射获取源码,由于实际生产环境的代码可能有复杂的嵌套关系反射本身很容易出故障。

至于误差问题,cpython 的 for 循环 overhead 确实高于其他普遍语言数量级以上,除了迭代器实现外甚至还受函数调用位置(由 locals 和 globals 修改规则)影响,不过实际上可以搞一个空 block 做对照组做减法可以很容易算出纯代码段开销。
2022-03-27 16:41:55 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@zhailw 虽然 for 的语义不太清晰,但实现起来简单很多
2022-03-27 01:59:10 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@zhailw 也不是不行,但是咋实现呢
2022-03-26 02:35:40 +08:00
回复了 llsquaer 创建的主题 Python Python 发现个奇怪知识,类属性不被实例化修改,即可被外部修改
@lux182 解决方案:招募正经程序员
2022-03-24 23:05:30 +08:00
回复了 LeeReamond 创建的主题 问与答 Nginx 能否实现将 Cloudflare 代理的 IP 替换为用户 IP?
@silverfox 这个方案也可以,看起来是直接替换反代 IP ,但似乎与 cf 服务器绑定了
2022-03-24 23:03:36 +08:00
回复了 LeeReamond 创建的主题 问与答 Nginx 能否实现将 Cloudflare 代理的 IP 替换为用户 IP?
@also24
@cweijan proxy_set_header 可以设置 header ,但怎么读取其他 header 的值?
2022-03-24 18:55:13 +08:00
回复了 lizhiqing 创建的主题 分享发现 这种钓鱼网站为什么要侮辱我智商
@lizhiqing cf 反代还能用作扩充 IP 池?你网页写 POST 的话不是跨域了吗
2022-03-22 00:13:07 +08:00
回复了 LeeReamond 创建的主题 问与答 有关 Oracle 数据库主键使用自增策略,存在什么坑吗?
@gt15207 感谢分享,很有用的经验,性能方面比较在意的是热块争用以及储存上的碎片问题,这在 mysql 里存在但不太清楚 oracle 的情况,如果不存在 mysql 的种种问题的话似乎 uuid 是很不错的选择。我们目前没有严格递增的需求,不过考虑到这个需求的话,简单想了一下好像也不感觉业务处理会有啥更快的方法,就算搞一个业务锁处理节点同步也很费时间啊
2022-03-21 19:48:58 +08:00
回复了 amuyue 创建的主题 程序员 mysql 在有数据的表中直接插入一列 uuid
@luckyrayyy 有什么坑吗
2022-03-20 17:33:27 +08:00
回复了 docx 创建的主题 哔哩哔哩 1080P 视频码率压到 500k,叔叔最近手头紧了……
@yuzo555 DCT 变换后压缩在频域发生,导致码率与画质不是严格线性对应关系,例如常识性的影视动画类作品网上 30G 版本不会比 3G 版本清晰 10 倍,这使得像素平均比特数有高于某阈值后影响不大,但缩减到一定阈值下后会严重影响目视效果的特性。考虑到视频网站采用编码器的复杂度控制,400K 已经是个很过分的数值,有当年 NICONICO 非会员糊一片的风采了,另 av1 在低码下对于低频信息保留相对于一般的 hevc 实现有代差也应考虑在内。
2022-03-20 15:24:11 +08:00
回复了 leimao 创建的主题 Google Google Analytics GA4 感觉不是很好用
我觉得应该期待一下替代产品出现吧,我司自己做的用户行为分析跟谷歌分析对比的时候发现谷歌分析很多机器人行为筛不掉,统计数据上看流量高了三倍,分析被噪声影响。
2022-03-19 11:42:34 +08:00
回复了 honkew 创建的主题 PHP 小白问一个正则匹配的问题
@lujjjh 粗看下题设未脱离状态机可解决的范畴
1 ... 41  42  43  44  45  46  47  48  49  50 ... 88  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2777 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 14:57 · PVG 22:57 · LAX 06:57 · JFK 09:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.