V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 84 页 / 共 88 页
回复总数  1751
1 ... 76  77  78  79  80  81  82  83  84  85 ... 88  
2021-01-29 21:52:05 +08:00
回复了 LeeReamond 创建的主题 Python 想要使用 FastAPI 重构项目,应该如何快速入门?
@yexiaoxing 我想让开发和部署更简化一些,如果全部服务由业务节点提供,nginx 只进行转发的话,我对项目的掌控力度更强,部署上也简单一些,静态性能方面我觉得异步时代倒是不需要做特别担心。例子方面,文档中有完整的路由+权限的例子吗,我没有找到
2021-01-29 20:43:11 +08:00
回复了 Strive0630 创建的主题 Python 打算重构一个项目使用 Django,大佬们给点建议
@qile1 据我所知运营微信公众号不需要自建服务器?而且据我所知 bottle 是同步库,同步模型与异步模型在速度方面是有数量级差距的,这么比较并不公平。
@zydfw 怎么搜索呢?没有硬件知识
2021-01-29 20:38:20 +08:00
回复了 LeeReamond 创建的主题 Python Python 使用静态类型标注时的循环导入问题
@maocat

笼统地说实际代码层没有修改。解决的是指确实可以通过 runtime 的方式获取实例,也就是指虽然在同一个包内无法循环导入,但在用户代码执行的时候实际上所有内容都已经导入到用户空间,可以通过字符串转换到对应的类实例,也就是说如果想要的话是可以在 runtime 强行获取实例并进行某种校验的。但是研究了一下觉得并没有那么强的需求,所以最后也没改什么。楼上提到 PEP563 的导入方式,我测试下 mypy 是支持解释的,不愿意用 mypy 的话也有一些自己实现的方法,意思是你用 pep563 的方式进行导入,用自动工具是可以与普通导入等同地进行校验测试的,功能上来说已经达到了,虽然易用性上未必好
不懂技术,无责任推测一下思路,比如在不同位置插入高精度的振动传感器,然后可以训练一个时序模型,敲击不同地方的反馈输入是不一样的。
@zydfw M2.2280,一共就两个盘位,一个给主启动位了,另外一个没的换啊
2021-01-29 02:07:07 +08:00
回复了 LeeReamond 创建的主题 Python 想要开发一个供 Python 使用的静态类型检查项目
@frostming mypy 的 pycharm 插件很好用,但是 runtime 我觉得很糟糕,经常卡死,异常又怪。不过刚才试了一下,之前没试过的,runtime 确实是支持 PEP563,这样说来也堪用了
2021-01-28 07:48:03 +08:00
回复了 LeeReamond 创建的主题 Python Python 使用静态类型标注时的循环导入问题
@no1xsyzy 感谢,已经解决
2021-01-28 02:53:07 +08:00
回复了 LeeReamond 创建的主题 Python 想要开发一个供 Python 使用的静态类型检查项目
大概调研了一下,目前感觉一个可行的实现思路是这样,首先 hook 模式对我来说难以理解,暂时认为不可行,相反装饰器模式很简单,可以通过修改装饰器修改 metaclass,实现对普通函数,和类内所有函数的手动标注,这样注入之后程序在所有函数的入口和出口处都有了类型检查,在自动测试中自然也一样。

之后只需要在发布的时候删除装饰器就可以了,可以写一个非常简单的状态机搞定。
2021-01-28 01:45:40 +08:00
回复了 wyytxml 创建的主题 程序员 作品展示:股市板块量化监控小助手
我个人的经验是已经有看盘软件开发过的功能就不要自己开发,毕竟还是为了方便使用为主,自己做的通常吃力不讨好。抛开技术,楼主感觉最近大盘如何,应该加仓吗
2021-01-28 01:42:11 +08:00
回复了 LeeReamond 创建的主题 Python Python 使用静态类型标注时的循环导入问题
@no1xsyzy 我测试了一下方法 1,我没太看懂 https://github.com/samuelcolvin/pydantic/blob/master/pydantic/typing.py#L51-L68 这一段怎么用 eval 实现的字符串到实例的转换,不是很理解为什么 from typing import _eval_type 之后,_eval_type 就变成了 ForwardRef 的方法,我自己这么调用没有成功,所以不是很理解 sys.modules[cls.__module__].__dict__拿到的 globals 怎么转化,我自己从中没法提取想要的信息,虽然 runtime 当中这句执行已经在导入所有库之后,但仍然只能拿到相对该文件的 globals
2021-01-28 01:13:40 +08:00
回复了 Strive0630 创建的主题 Python 打算重构一个项目使用 Django,大佬们给点建议
@windfarer 跟技术栈有关,我开始学习异步已经是 3.5 版本以后的事,因为当时已有原生异步所以从一开始就否决了猴子补丁的方案。现在问我的话我觉得 asyncio 很优雅,并且完全不能理解 gevent 的使用方式
2021-01-28 01:11:11 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@wdhwg001 感谢,我不太熟悉这个 benchmark 的项目,你不指路的话我都不知道你指的源码是这个。我按他的部署测了一下,确实是速度快一些,整体单进程和 prefork 的性能和 aiohttp+gunicorn+uvloop 几乎相当,可能 gunicorn 自己是 python 写的,性能极限就这么多了吧,在我的机器上测试 qps 并没有超过四万。

大概是这样

Thread Stats Avg Stdev Max +/- Stdev
Latency 2.79ms 1.39ms 17.14ms 68.74%
Req/Sec 7.31k 2.07k 12.89k 67.10%
727813 requests in 20.02s, 85.37MB read
Requests/sec: 36348.24
Transfer/sec: 4.26MB

作为对比,后面用 pyston 跑了一下,加入 jit 以后 fastapi 确实是更快一些
fastapi+python3.8: Requests/sec: 36348.24
fastapi+pyston2.1: Requests/sec: 45435.96

aiohttp+python3.8: Requests/sec: 36170.63
aiohttp+pyston2.1: Requests/sec: 42089.11


所以 fastapi 相对于 aiohttp 或者 tornado 这些传统异步框架没有性能劣势,那么使用 fastapi 的优势是什么呢,除了比较火以外,用来做后端服务器似乎很合适,因为可以自动生成文档,不过这个其实也还好,不是那么的决定性,不太清楚还有没有什么其他优势。不过不管怎么说 2021 年感觉部署大型 web 应用,如果使用 py 的话,起码语言不应作为性能瓶颈看待了。不知道当初知乎、豆瓣这些网站,都是 py2 时代码出来的项目,后面都传出来过重构的新闻,如果用现在的 python 的话应该是不会重构了吧
2021-01-28 00:21:49 +08:00
回复了 maobukui 创建的主题 Python [ Python ]关于 flask 视图函数中需要多线程 or 多进程的实现
这种情况下不会默认并行,如果是的话属于打破 python 解释规则的行为,很颠覆。需要用户自行处理线程,并且注意 gil
2021-01-28 00:19:11 +08:00
回复了 Strive0630 创建的主题 Python 打算重构一个项目使用 Django,大佬们给点建议
@windfarer 仅是就事论事,讨论了一下目前的异步框架速度,扩大到全体语言和全体框架并不恰当,实际上前几年 djg2 的时代,使用同步模型+默认中间件设置的话确实是慢得很,go 快不上一万倍,但一千倍还是有可能的
2021-01-27 22:09:36 +08:00
回复了 LeeReamond 创建的主题 Python Python 使用静态类型标注时的循环导入问题
@no1xsyzy 感谢回复,有时间研究一下。关于 mixin 和抽象类,我不会 ponylang 和 rust,所以无法理解你提供的 mixin 的例子。抽象类这个功能对于代码复用不是很灾难么,因为本身继承就是希望可以复用基类的代码,如果每个子类必须重新实现一遍的话感觉很累赘啊
2021-01-27 20:45:26 +08:00
回复了 LeeReamond 创建的主题 Python 想要开发一个供 Python 使用的静态类型检查项目
@caviar mypy 用过,另外还用过一个叫 pyright 的,那个不怎么样,mypy 的 ide 检查还不错,但是感觉我这个偏运行时?我研究一下你发这个 typeguard,还有 profiler hook 是啥,没听过这个词
2021-01-27 20:06:28 +08:00
回复了 VincentYoung 创建的主题 程序员 MySQL 5 亿数据查询如何优化
不应该啊,已经加了索引,怎么还会 5000 万数据就 5 分钟
问问题用 gist 展示代码是美德。
2021-01-27 19:15:03 +08:00
回复了 Strive0630 创建的主题 Python 打算重构一个项目使用 Django,大佬们给点建议
@2379920898
@jmyz0455
@windfarer

然而事实是 go 并不能快一万倍。

https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=fortune&l=zijmrj-1r

根据 techempower 的测试,对于 1202 年的异步 python,框架转发能力方面,go 的最大模型领先五倍性能,中位数在 2-3 倍。所以 2-3 倍的执行效率(大概率冗余)是你从 python 生态切换到 go 生态的理由?
1 ... 76  77  78  79  80  81  82  83  84  85 ... 88  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3732 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 110ms · UTC 04:22 · PVG 12:22 · LAX 20:22 · JFK 23:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.