V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 76 页 / 共 88 页
回复总数  1745
1 ... 72  73  74  75  76  77  78  79  80  81 ... 88  
2021-03-22 08:32:35 +08:00
回复了 xpde 创建的主题 Python 使用强类型的编程语言是否更有利于编程和数据分析?
楼主说的应该是静态类型。不过静态类型也有几种程度的静态类型,

第一层比较浅的,是你指定关键位置的特定类型,满足两个最小目标,其一是 runtime 可以动态检查是否所有输入都满足该类型,其二是使用 IDE 可以看到提示。这个就是目前 python 使用的方案,虽然 runtime 检查没有杀手级产品,mypy 并不好用,不过仅满足项目需求的侵入式检查框架自己实现成本也不太大,而 IDE 补全在 pycharm 里已经有,虽然对 sublime 用户并不友好,但总体来说堪用。

第二层完全静态,对于 python 是愚蠢且无意义的,动态是一项伟大的发明,这是动态语言后发但能逐渐蚕食静态类型语言的原因,因为它确实解决了静态的痛点。python 的设计哲学是高动态与强大的描述能力,对比 c++的哲学( Zero-Overhead Abstraction )可以明显感受到本质不同。别的不说,假如存在静态 python,它有良好的优化空间和高速的 JIT 解释器,但写代码时不是光标注`lst: list`就完事了,大多数时候你还要标注数组中储存对象的类型,比如`lst: list[int]`,从此以后你只能往 list 里面增加 int 类型,甚至无法添加 float 。你能接受吗?如果如此为什么我不使用其他语言?
@mingl0280 f2b 这东西得接入日志吧,咋接 windows 日志不会啊。至于自己写,怕是写完以后因为运行占用太多 CPU 资源导致以为被攻击┓( ´∀` )┏
2021-03-20 05:51:08 +08:00
回复了 monetto 创建的主题 Python 如何减轻 Python Flask 服务的性能消耗
@seakingii 有一说一,我觉得 c#在 web 领域还不如 py
2021-03-20 05:48:08 +08:00
回复了 LeeReamond 创建的主题 问与答 学生教务系统 Sql 求助
@shiji 不好意思,学生 ID 是学生表的主键,写问题时比较头昏直接写上去了,成绩表有业务无关的主键
2021-03-20 05:47:23 +08:00
回复了 LeeReamond 创建的主题 问与答 学生教务系统 Sql 求助
@jhdxr 数据库是 mysql,但是想了解一下 oracle 怎么实现这个复杂操作,大佬能指点一下么
说句题外话,请问 windows 上有类似 fai2ban 的工具吗?
2021-03-19 23:09:14 +08:00
回复了 monetto 创建的主题 Python 如何减轻 Python Flask 服务的性能消耗
flask 本身属于比较慢的那类,同步框架本身慢一些,flask 又不是 tornado,bottle 之流。要减轻开销最好上异步
@binux 提这个问题主要是我 8 核才提升 2 倍性能,比较诡异所以来问一下,看大家的跑分感觉可能是我硬件问题,不是 python 或者调用方式有问题。物理 8 核心分配 8 线程,资源足够的情况下执行顺序先后完成时间差别不大,属于比较粗略的计算方式,因为不需要进程间通讯。
@LeeReamond 128 核的话,多进程又为啥会是 5x 加速呢,毕竟有 8 个进程。。神秘
@no1xsyzy 看到你的讨论想说些题外话。目前 python 指定核心分配进程有可用方案了吗?能想到一个典型场景是 gunicorn 每个进程绑定后线路应该能提高一些。

另外绑定核心这件事应该怎么理解,比如我的主线程绑定到 a 核心,然后我新开了一个线程调用 dll 插件,这个操作过程用释放 gil,那这个并行线程是会另找地方还是只能在当前核心上排队?
@no1xsyzy 刚才群里跟大佬讨论,大佬说你这个进程间通讯时间都没算,测个屁。我倒只是想得出个大方向结论,没想那么精确,不过我觉得在预激的基础上,进程间通讯的开销应该在微秒级,最慢不会超过几毫秒,这不是影响 4 秒执行时间延长到 12 秒的理由
@vipppppp 我无法解释你的跑分结果,虽然这个代码也只是图一乐,并不严谨,但是应该不会影响大方向结论。比如你在超多核的机器上多线程反而特别慢,我觉得有可能是同一段逻辑在不同物理核心上交替运行,期间资源移来移去产生的开销。不过在 12 线程上也这么慢就不合理了,12 线程可不太像是双路 cpu 。。。因为是纯 python 实现,正常多线程的 speedup 就应该是 1.0 左右
@vipppppp 感谢,看来确实可能是我之前忽略了睿频的问题,不过大佬你这个结果里多进程是符合期望的,多线程在 gil 下顺序执行,不应该这么慢
@ysc3839 确实,大佬给出了一个合理的思路。不过如我测试,绝对执行时间增长了三倍,睿频应该差不了这么多吧。
@vicalloy 多进程模式下 16 线程跑 8 进程,其中 8 线程是满载的,剩下占用在 20-60%之间抖动。测试平台 windows,空载状态下运行,我不认为是系统资源不足的影响。
@love
@laurencedu
@codehz 感谢各位回复,不过我帖子中讨论的确实是多进程,并且除了说明以外给出了测试代码及执行结果。并不是各位在讨论的所谓线程效率的问题

我最近确实震惊于程序员群体语文阅读能力之低下,最近几天在 v2 讨论遇到了很多次驴唇不对马嘴的回复,实在不吐不快。
@wzb0909 谢谢,block 了
2021-03-18 06:38:28 +08:00
回复了 LeeReamond 创建的主题 问与答 有关 LocalStorage 没有过期时间,岂不是僵尸存储越来越多?
@ch2 ?我觉得你说的是另外一个东西
2021-03-17 21:01:35 +08:00
回复了 LeeReamond 创建的主题 问与答 有关 LocalStorage 没有过期时间,岂不是僵尸存储越来越多?
@ch2 并非浏览记录,你加载完一段视频后,不关闭网页的情况下拖动进度条是不需要再加载的,指这件事
2021-03-17 16:16:32 +08:00
回复了 LeeReamond 创建的主题 问与答 有关 LocalStorage 没有过期时间,岂不是僵尸存储越来越多?
@ch2 话说,那这么说的话比如视频网站之类的,已经播放过的进度条不用重新加载,不是靠 js 存在哪个存储里,而是单纯靠浏览器的缓存策略在支撑?
1 ... 72  73  74  75  76  77  78  79  80  81 ... 88  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4725 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 04:03 · PVG 12:03 · LAX 20:03 · JFK 23:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.