V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  abersheeran  ›  全部回复第 58 页 / 共 86 页
回复总数  1708
1 ... 54  55  56  57  58  59  60  61  62  63 ... 86  
我的工作就是造轮子+趟坑。比如这几个月的工作,我在业务里完善了 index-py 这个 Python Web 框架,写了一个带自动迁移功能的 ORM,这周在学 k8s,下一步估计是把我之前写的 rpc-py 投入实际生产……
2021-03-22 23:18:25 +08:00
回复了 jiang1234321 创建的主题 Linux 问一个磁盘顺序写入的问题
是的。楼主想法没错。所以一般这里会采取 mmap,让操作系统自己想办法整活,我们就别管了。
2021-03-22 18:40:52 +08:00
回复了 mimzy 创建的主题 Python Python 如何高效地将 JSON 反序列化为对象
@mimzy fastapi 速度还没 aiohttp 快呢。它的性能全靠吹。
2021-03-22 14:40:38 +08:00
回复了 mimzy 创建的主题 Python Python 如何高效地将 JSON 反序列化为对象
@mimzy 虽然我也是 pydantic 的重度使用者。
2021-03-22 14:40:24 +08:00
回复了 mimzy 创建的主题 Python Python 如何高效地将 JSON 反序列化为对象
@mimzy 另外一提,如果你没有用 pydantic 提供的 Cython 编译后的版本,其实它的速度和 attrs 之流差不多甚至慢一些。有时候觉得 pydantic 、fastapi 这些家伙的宣传挺可耻的……虚假宣传
2021-03-22 13:37:58 +08:00
回复了 mimzy 创建的主题 Python Python 如何高效地将 JSON 反序列化为对象
@mimzy 如果你只是需要代码提示,TypedDict 永远的神……https://github.com/abersheeran/baize/blob/master/baize/typing.py#L66
2021-03-22 12:18:35 +08:00
回复了 mimzy 创建的主题 Python Python 如何高效地将 JSON 反序列化为对象
有一个问题,你需要进行默认值的填充和参数校验吗?如果你不需要这些。

写一个类似于这里面的 https://github.com/abersheeran/index.py/blob/master/indexpy/utils.py#L50 类就行了。基本思路是使用三个魔术方法来自定义 obj.attr 的行为。比起其他需要校验、填充默认值的玩意,快不止一个数量级,因为这里压根就没有 COPY 的损耗。
2021-03-22 00:37:53 +08:00
回复了 lesismal 创建的主题 分享创造 NBIO 第二弹 —— 支持 Non-Blocking HTTP 1.x
@FucUrFrd 什么脑残玩意。见到这种嘴上说着无国界,却让人改用其他自然语言的人,我见一个骂一个。你最好也 block 我。
2021-03-21 01:29:09 +08:00
回复了 monetto 创建的主题 Python 如何减轻 Python Flask 服务的性能消耗
@monetto 那就 bottle 。
2021-03-19 11:21:04 +08:00
回复了 lesismal 创建的主题 分享创造 NBIO 第二弹 —— 支持 Non-Blocking HTTP 1.x
@abersheeran 缺陷之二再补充一下说明:无栈协程需要程序员自己时刻牢记自己每一步操作是否会带来同步 IO 操作。上述只是拿了文件举例,实际上应该有更多的操作是同步的,都需要程序员自己去权衡线程池如何安排。
2021-03-19 11:17:16 +08:00
回复了 lesismal 创建的主题 分享创造 NBIO 第二弹 —— 支持 Non-Blocking HTTP 1.x
如上所述的性能差异说到底就是有栈协程和无栈协程的性能差异。

我个人选有栈协程,也就是 golang 这一套。因为写代码方便,有栈协程无感染性。虽然我一直沉浸在 Python 的无栈协程里跑不出来。

无栈协程的性能缺陷:文件 IO 需要走多线程通过回调包装成异步的,如果细扣到有栈无栈这个地步,那么这个包装其实还是很浪费资源的。而有栈协程不需要这么包装,在有栈协程里调任何同步 IO 都没事,都可以挂起。
缺陷之二:感染性。如上述,文件 IO 之类的同步 IO 必须包装起来,但是传统编程里很多文件 IO 是程序员自己都不不注意的,比如 file.exits()、path.is_dir() 之类的。如果要把无栈协程的性能发挥到极致,这些必须都包装起来。但如果只是简单粗暴的多线程跑,线程切换其实比这种少量 IO 还要耗资源。这里就很难优化好。

老哥你这个帖子没啥人回复,估计是因为学 golang 的人跟我想法差不多,都更喜欢有栈协程,所以对你这个兴趣不大。
2021-03-19 11:04:56 +08:00
回复了 ClericPy 创建的主题 Python 有谁遇到过 aiohttp Got more than 8190 bytes Headers 相关的错误了吗
@ClericPy 你说测这个啊,那的确是 aiohttp 更快,毕竟有 C 加持。不过一般发请求的客户端速度瓶颈都在目标服务器啊。
2021-03-19 10:07:01 +08:00
回复了 ClericPy 创建的主题 Python 有谁遇到过 aiohttp Got more than 8190 bytes Headers 相关的错误了吗
@ClericPy 不对吧。我记得 aiohttp 的客户端性能没比 httpx 好到哪儿去。也就服务端性能不错。
2021-03-18 14:12:34 +08:00
回复了 ClericPy 创建的主题 Python 有谁遇到过 aiohttp Got more than 8190 bytes Headers 相关的错误了吗
httpx yes !
2021-03-18 13:57:01 +08:00
回复了 hpencilb 创建的主题 程序员 GitHub 手工耿
哈哈哈,三连了。
2021-03-18 13:54:08 +08:00
回复了 EchoUtopia 创建的主题 程序员 尝试新的风格写技术博客
还有,大家看不下去你的故事,大概率不是因为这种格式的问题,而是你的故事的问题。

文字是最忌讳上来对这个人物一顿背景描写的。很枯燥,哪怕你这个不是个技术文章,也没人会愿意看。动画片或者电影能这么干,是因为有画面,通过画面能缓解这种枯燥感,但文字没有画面,所以必须稀释这种大篇的背景设定介绍。

写作是一件很累的事情,比写代码可能更加费精神。代码都写的不咋地,就别没事跨行作战了,浪费你自己时间。
2021-03-18 13:49:01 +08:00
回复了 EchoUtopia 创建的主题 程序员 尝试新的风格写技术博客
我觉得直接单刀直入解决问题,是好的技术博客。或者从浅到深的叙述,也是好的技术博客。显然,你这个两个都不算。

单刀直入有很多,就像 StackOverflow 各种优秀问答。从浅到深,我觉得王垠那一篇讲述 S 运算符的 http://www.yinwang.org/blog-cn/2013/03/08/on-syntax 就很妙,虽然我还是不认同他最后一句话,但前面对 S 表达式的叙述很好,由浅到深、直指本质。
2021-03-18 09:33:52 +08:00
回复了 zyh94946 创建的主题 分享创造 通过企业微信构建消息推送服务
@xinyana 微信是独立的。QQ 比微信好多了,至少不会打死机器人。另外,微信在腾讯内部也是天龙人,都不会带其他事业群玩的。
1 ... 54  55  56  57  58  59  60  61  62  63 ... 86  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   965 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 19:30 · PVG 03:30 · LAX 12:30 · JFK 15:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.