1
niubee1 2019-09-06 22:51:53 +08:00 5
------------------------------------------------------------
但事实上是,程序员本身才是性能的最大瓶颈,而工具真正体现出来的价值,是在程序员很烂时,所能提供的兜底性能。 ------------------------------------------------------------ 所以口口声声说 Python 慢得不行的跑去转 golang 的程序员,大多都是很烂的兜底的程序员 |
2
wellsc 2019-09-06 22:53:19 +08:00
算不上迷思吧,更偏向于有编程基础的人的 Python 扫盲贴
|
3
ClericPy 2019-09-06 23:11:17 +08:00 1
还仨月就 2020 了, 还有一大群人用的是没有 Asyncio 的 py2, 对这些人来说反正 py3 也不熟, 不如直接学 go, go 的一个大好处是非核心代码在实习生和老人手里写出来风格差别不会太大
这个时代, 多学点东西也没坏处 |
4
iPhoneXI 2019-09-06 23:38:56 +08:00 via Android 4
Instagram 几十亿月活,还在用 Django 呢
不同场景用不同语言才是正常做法, 一味吹 /贬某种语言挺可笑 |
5
watsy0007 2019-09-06 23:44:02 +08:00
我都等着 3.8 发版升级了....
fastapi + tortoise-orm 估计很多人都没听说过. |
6
justfortest 2019-09-07 00:02:12 +08:00
@watsy0007 #5 很早之前就听过 tortois-orm 和 fastapi 了,虽然现在不怎么用 python 做项目了,但 python 真是挺好的一门语言。
|
8
Leigg 2019-09-07 00:11:27 +08:00 via Android
python 真的万能,说老实话,除了 web,分析,服务器一样有商用。
|
9
Leigg 2019-09-07 00:12:06 +08:00 via Android
只是一般人掌握了一点爬虫
|
10
Leigg 2019-09-07 00:14:00 +08:00 via Android
和 django 就觉得把 python 学完了,殊不知只触碰冰山一角。游戏服务器,客户端…还多得很
|
11
Lagrangian 2019-09-07 02:42:34 +08:00 via Android
@Leigg Scientific programming
|
13
wd 2019-09-07 06:12:23 +08:00 via iPhone
@niubee1 #1 有时候自己烂不烂以及自己可以多牛逼自己并无法知道,那么安全的选择显然是外表看起来还不错的那个,我觉得没什么问题
|
14
zjsxwc 2019-09-07 08:03:26 +08:00 via Android 1
都是听了你们的邪,屁的 Python 万能论,在下十年前也是跟风追 Python,连大学毕业设计不用 c#也是用 Python 做了,但最后到头来发现机器学习数据处理还是要靠 MATLAB,要性能就得上 c++,网站服务端就得用 php,只有适合的语言没有万能的语言。
|
17
cabing 2019-09-07 08:45:27 +08:00
写十年创造了啥价值?
我觉的语言倒是其次的,为社会创造一些价值才是主要的吧。 |
18
jeeyong 2019-09-07 08:54:20 +08:00
我用 python 写项目.
现在有稳定的客户群.. 一年净利润 100 万+ 我就偶尔看看, 维护一下.. 我不知道你们在争什么? |
19
gimp 2019-09-07 08:55:53 +08:00 1
@zjsxwc Numpy Pandas scikit-learn 学完数据分析 /机器学习还能继续深度学习,主流数据分析框架都有 Python 接口,涉及到性能的包,底层也都是 C/C++写的,Python 负责调用而已,还拿性能说事情很不合理,服务器端语言选择这么多,Java / Node.js / Ruby 等等等,PHP 又成了必选的语言
|
20
love 2019-09-07 09:00:23 +08:00
曾经也是 py 粉,不过现在我为大 JS 打尻
|
21
cmdOptionKana 2019-09-07 09:17:47 +08:00
@zjsxwc 呵呵哈哈哈,我也感觉 python 的宣传做得很好。
|
22
lpf0309 2019-09-07 09:23:37 +08:00 via Android
所以各位给工科研究生一个建议么,到底学 python 还是 c++还是 Java
|
23
keepeye 2019-09-07 09:32:36 +08:00
哪个生产效率高用哪个,等发展到瓶颈了再考虑重构优化性能,减少服务器开销
|
24
dcalsky 2019-09-07 09:34:14 +08:00 via Android
用 Django 原因之一就是看中他那 django admin 啊,自动搭建多舒服。
|
26
azuginnen OP @jeeyong 老哥 6. 是这个项目 https://v2ex.com/t/526867#reply10 吗?
|
27
hmxxmh 2019-09-07 09:44:15 +08:00 via Android 1
@niubee1 这个我蛮认同楼主的,Python 确实有瓶颈,但是大多数人碰触不到这个瓶颈,只会人云亦云的抨击,捧一个必定要踩一个的做法实在让人恶心,根据需求选择合适的语言才是程序员该做的事
|
29
azuginnen OP 做一个小结,一个简单的做法是,启动程序后,分别创建一个进程池(进程数小于等于可用核数)、线程池和 ioloop,ioloop 负责调度一切的协程,遇到阻塞的调用时,I/O 型的扔进线程池,CPU 型的扔进进程池,这样代码逻辑简单,还能尽可能的利用机器性能。
|
30
Marinej 2019-09-07 10:37:06 +08:00
哇,好文终极感谢
|
31
deepreader 2019-09-07 10:47:12 +08:00
@iPhoneXI 在 Instagram Django 只算是产品后端。news feed ranking, ads ranking, friends ranking 全靠 C++。
|
32
poplar50 2019-09-07 11:04:30 +08:00 via Android
写的真的很不错。
|
33
iPhoneXI 2019-09-07 11:38:47 +08:00 via Android
@deepreader Python 做产品后端就够了,其他也不合适
|
35
blless 2019-09-07 12:37:40 +08:00 via Android
python 不慢谁还慢?主流就这么几种语言,最讨厌那种所谓大佬一上来就给新人灌输什么 py
够用了,是程序员自己能力不行的论调。你们觉得不慢那是对语言特性都摸透了,热点,痛点下意识就可以绕开。 这语言现在 curd 只能说勉强够用,随便来点复杂的,计算多一点的,要不稍微并发高一点的都要花费额外时间精力。我当时测试 pypy+gunicorn+flask+gevent 忙活优化好几天,最后算起来不如我从头学 go 重写来得划算…而且原来抖动延迟直接成一条直线,体验翻倍,这差距已经海了去了… |
36
ClericPy 2019-09-07 12:40:13 +08:00
@azuginnen fastapi 底层的 starlette 有大组织背书, 我很喜欢, 比某些"大神"的 responder 阉割版好用多了, 但是 fastapi 到底比 starlette 好在哪, 没仔细看底层代码, 当时看了各种 Benchmark 对比里, fastapi 有的快有的慢, 快也不比 starlette 快出个质的差距
至于 Sanic, 已经很多人吐槽完了就扔掉了, 实在是坑多, 现在就算填上了也不想用 japronto 实在不敢上生产环境 falcon 看起来也很快 vibora 呼声很高, 现在也不清楚什么个情况了 其中一个 Benchmark 网站 https://github.com/the-benchmarker/web-frameworks |
37
NeinChn 2019-09-07 12:48:18 +08:00 1
蛤蛤蛤
"你现在应该可以比较轻松的实现达到 1k QPS 的服务,在白天十小时里可以处理超过一亿请求,费用依然仅 20 元 /天。你还有什么借口说是因为 Python 慢呢?" 这连什么叫慢都不懂啊.... 吞吐量和时延是两个不一样的事情 现在服务要求超时就只有 300ms Python 裸写能不能在当前业务场景里支持这个时延,这叫快 /慢 然而显然事实是由于 Python 太慢,不得不在部分 CPU 密集型操作上用 C/C++处理一下,几个语言混编一下 |
38
GeruzoniAnsasu 2019-09-07 13:10:06 +08:00 2
都快 2020 了还有人觉得 python “不慢,性能够用了”
行吧,写 curd 的 web 应用有很多的分布式方案,1kqps 的 web server 横向扩展一下最后也能堆出够用的性能 除此之外呢?加点计算呢? python 光是写个 http 发包压测就能费劲巴力死活跑不满带宽,换 golang 几乎一样的写法轻松打满 1G,这天花板低得一般路过都能看得见,有啥好头铁的嘛,我又不是那种要去顶破天花板的专家,我费这个力干啥,不如换语言 |
39
iceheart 2019-09-07 13:27:50 +08:00 via Android
不太会算数,1k QPS 十个小时是如何跑出一亿请求的
|
41
niubee1 2019-09-07 15:43:34 +08:00
所以看回复就能看到哪些转了 go 又反过怼的,好鉴定贴啊
|
43
niubee1 2019-09-07 16:49:15 +08:00
@azuginnen 没有反过来怼啊, 其实真 Python 老鸟没几个是纯用 Python 的,大多数都是复合型人才,喜欢 Python 纯粹就是因为用着顺手,喜欢而已。
|
44
winglight2016 2019-09-07 17:28:58 +08:00
@love 打尻——有点下流的赶脚
|
45
janxin 2019-09-07 19:28:54 +08:00
迷思在哪里...
这不是教程么... |
46
artandlol 2019-09-07 20:19:52 +08:00 via Android
python c++ 做科学计算类的都不错
|
47
crella 2019-09-07 22:09:08 +08:00 via iPhone
|
48
LokiSharp 2019-09-07 22:20:32 +08:00
我现在一直在想,如果 Python 能用花括号就好了。。。写 Kotlin 的时候被 IDEA 的自动补全和格式化爽到了
|