1
helloadmin 2023-05-05 09:36:52 +08:00 2
我怀疑他在吹牛逼
|
2
Rooger 2023-05-05 09:38:05 +08:00 1
才开始了解 Swift ,Mojo 就来了,有得玩。但愿 Mojo 会让我爱上,毕竟学过 Python 五六次,但是从来没有在生产上使用。
官网: https://www.modular.com/mojo GitHub: https://github.com/modularml/mojo |
3
expkzb 2023-05-05 09:46:36 +08:00
先写 python ,再让 gpt 转成 mojo 就行了吧。最大的吸引力是可以省下一个 cuda 。
|
4
galenjiang 2023-05-05 09:49:05 +08:00
julia 怎么说
|
5
fioncat 2023-05-05 10:07:57 +08:00
35000 倍?我印象中 C 语言比 Python 也就快几倍吧。。
|
6
InkStone 2023-05-05 10:18:10 +08:00
@fioncat 我印象中计算密集代码有 20~30 倍左右。
主要是 Python 的对象模型太复杂了,加法在 C 里就是一条指令,在 Python 里是一大堆的查表和函数调用。 |
7
xooass 2023-05-05 10:27:51 +08:00
能做到 python 代码编译成 mojo 就行
平时用 py 做脚本,需要性能的时候就去编译一下 |
8
Rooger 2023-05-05 10:43:25 +08:00
@fioncat 除非核心代码全部是 C 实现的,只是 Python 调用一下才可能快几倍,否则把纯 C 的代码用 Python 实现,可能真要差出上千倍的。
|
10
CaptainD 2023-05-05 10:58:04 +08:00
没深入了解这个语言,不过它和 py 对比速度的时候用了一个动图,py 是串行它是并行,是在多线程下吗?
因为 GIL 在多线程里肯定性能要差的,但是 py 更多的用协程替代了多线程场景,特定场景性能差距没有想象中大,计算密集型场景 py 也并不是因为无法并行慢的 |
11
duke807 2023-05-05 11:03:44 +08:00 via Android
没有逻辑可言
觉得 py 慢,所以搞一个子集是 py 的 新语言 觉得 py 慢,不是应该搞一个新的 py 解释或者翻译器吗?搞新语言进一步扩充 py 是哪门子逻辑? |
12
laqow 2023-05-05 11:03:58 +08:00
如果不是 python 足够慢谁敢在上面开源可能对自己形成竞争的东西
|
13
haha512 2023-05-05 11:27:12 +08:00
重要的是能否无缝兼容第三方库,不然再快,意义也不大
|
14
tsubin 2023-05-05 11:38:08 +08:00
能提升几千倍 那不用说肯定是 JIT 编译+各种编译优化手段
|
15
newshbb 2023-05-05 11:48:12 +08:00
他们是懂写标题的
|
19
iOCZ 2023-05-05 12:35:11 +08:00
差距应该没那么大吧
|
20
oldshensheep 2023-05-05 12:51:28 +08:00 1
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 |
21
pengtdyd 2023-05-05 14:26:35 +08:00
油管上看到一个笑死人的评价,Mojo 的人还跟评论了:
JavaScript:无休止的框架战争。 Python:无休止的替代战争。 |
22
RockShake 2023-05-05 15:53:58 +08:00
看了下主要是用了并行计算,用硬件换时间?
|
23
iorilu 2023-05-05 15:55:54 +08:00 via Android
有啥意义,现有得库能直接用吗
|
24
wizardyhnr 2023-05-06 01:43:46 +08:00
挺好的,现在的 Python 版本都是顶层 Python 调用加底层 C 实现。这个整个原型可以用 Python 写,底层优化同样的语法整合度肯定方便很多。
Marketing 也很不错,切入机器学习的热点领域,加入 CUDA 的支持。用户群体简单适应就可以很快迁移了吧。 Python 的优化方案太杂了(Cython/mypyc/taichi/numba ),也不差这一个了。 |
25
mayli 2023-05-06 04:36:33 +08:00 via Android
看起来核心还是数值计算和 simd/gpu, 并不是通用替代
|
26
tywtyw2002 2023-05-06 04:43:57 +08:00 via iPhone
mojo 能编译成二进制吗?
目前 python 一大痛点就是没法编译成二进制。 codon 虽然说提供了 python to 二进制,但是问题也很多。 |
27
wizardyhnr 2023-05-06 06:53:23 +08:00 1
看了下官网。简单来说最初的核心开发是 AI 计算,对 CUDA 等有较好的封装,为了方便客户就采用了 Python 的语法。到了这一步就要确定是做 CPython 的 DSL , 还是另外一个 Interpeter 。
最初的设计应该和 Cython 类似,但后续受 CPython 架构的限制太大,免不了和 PyObject 和 GIL 打交道,估计内心是看不上 CPython 的实现的,确实时间太久远了,历史负担很大。 看起来对自己 AI 计算的框架比较有信心,所以就选择走 PyPy 的路线。但是 PyPy 的教训就是没有广大的第三方库支持。它本身对 Python 基本类型的支持还不完整,属于 DSL 的状态。现在宣传就是希望多圈用户来移植第三方库。 有第三方来倒逼一下 CPython 总是好的,到达 neovim 之于 vim 就最好了。一个 nogil 讨论了那么多年还是连个响都没有。性能需求倒逼总归是要逼出 Python4 的,官方不想做就看第三方能不能搞出来了。 |
28
iorilu 2023-05-06 17:50:33 +08:00
@tywtyw2002 cython 不是可以,也不费啥事
|
29
akaHenry 2023-05-06 21:04:25 +08:00
我建了个 mojo 中文技术 vx 群, 加群二维码在如下链接里. 欢迎加群交流 mojo.
https://user-images.githubusercontent.com/3252130/236625774-11005af1-0cf0-4154-908e-8094b7b3350a.png |
30
roundgis 2023-05-07 14:53:44 +08:00
python 那些特别慢的部分基本都用 cython 或者 c 改写了
剩下那 20%慢的 要看谁有心情了 或者说不值得花时间 gil 是另外一个问题 |