Swift 和 LLVM 作者的新项目, 35000 倍快的升级版 Python

2023-05-05 08:12:49 +08:00
 ChrisFreeMan
<amp-youtube data-videoid="V4gGJ7XXlC0" layout="responsive" width="480" height="270"></amp-youtube>
6639 次点击
所在节点    Python
30 条回复
helloadmin
2023-05-05 09:36:52 +08:00
我怀疑他在吹牛逼
Rooger
2023-05-05 09:38:05 +08:00
才开始了解 Swift ,Mojo 就来了,有得玩。但愿 Mojo 会让我爱上,毕竟学过 Python 五六次,但是从来没有在生产上使用。

官网: https://www.modular.com/mojo

GitHub: https://github.com/modularml/mojo
expkzb
2023-05-05 09:46:36 +08:00
先写 python ,再让 gpt 转成 mojo 就行了吧。最大的吸引力是可以省下一个 cuda 。
galenjiang
2023-05-05 09:49:05 +08:00
julia 怎么说
fioncat
2023-05-05 10:07:57 +08:00
35000 倍?我印象中 C 语言比 Python 也就快几倍吧。。
InkStone
2023-05-05 10:18:10 +08:00
@fioncat 我印象中计算密集代码有 20~30 倍左右。
主要是 Python 的对象模型太复杂了,加法在 C 里就是一条指令,在 Python 里是一大堆的查表和函数调用。
xooass
2023-05-05 10:27:51 +08:00
能做到 python 代码编译成 mojo 就行

平时用 py 做脚本,需要性能的时候就去编译一下
Rooger
2023-05-05 10:43:25 +08:00
@fioncat 除非核心代码全部是 C 实现的,只是 Python 调用一下才可能快几倍,否则把纯 C 的代码用 Python 实现,可能真要差出上千倍的。
love
2023-05-05 10:44:52 +08:00
@fioncat js 都比 py 快几十倍
CaptainD
2023-05-05 10:58:04 +08:00
没深入了解这个语言,不过它和 py 对比速度的时候用了一个动图,py 是串行它是并行,是在多线程下吗?

因为 GIL 在多线程里肯定性能要差的,但是 py 更多的用协程替代了多线程场景,特定场景性能差距没有想象中大,计算密集型场景 py 也并不是因为无法并行慢的
duke807
2023-05-05 11:03:44 +08:00
没有逻辑可言

觉得 py 慢,所以搞一个子集是 py 的 新语言

觉得 py 慢,不是应该搞一个新的 py 解释或者翻译器吗?搞新语言进一步扩充 py 是哪门子逻辑?
laqow
2023-05-05 11:03:58 +08:00
如果不是 python 足够慢谁敢在上面开源可能对自己形成竞争的东西
haha512
2023-05-05 11:27:12 +08:00
重要的是能否无缝兼容第三方库,不然再快,意义也不大
tsubin
2023-05-05 11:38:08 +08:00
能提升几千倍 那不用说肯定是 JIT 编译+各种编译优化手段
newshbb
2023-05-05 11:48:12 +08:00
他们是懂写标题的
jsq2627
2023-05-05 11:54:12 +08:00
@duke807 慢的原因就是语言特性太复杂导致不能优化吧。所以只好砍语言
duke807
2023-05-05 12:02:40 +08:00
@jsq2627

对啊,然而,mojo 不是砍语言,反而是标榜自己是 python 的扩充
ljsh093
2023-05-05 12:05:44 +08:00
@duke807 #17 看了下感觉像 ts 对于 js
iOCZ
2023-05-05 12:35:11 +08:00
差距应该没那么大吧
oldshensheep
2023-05-05 12:51:28 +08:00
Further, we decided that the right long-term goal for Mojo is to provide a superset of Python (i.e. be compatible with existing programs) and to embrace the CPython immediately for long-tail ecosystem enablement
How compatible is Mojo with Python really ?
……but… it is still very early and missing many features - so today it isn’t very compatible. Mojo doesn’t even support classes yet!
画饼很好,看看未来的发展吧……

https://docs.modular.com/mojo/why-mojo.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/937415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX