![]() | 1 helloadmin 2023-05-05 09:36:52 +08:00 ![]() 我怀疑他在吹牛逼 |
![]() | 2 Rooger 2023-05-05 09:38:05 +08:00 ![]() 才开始了解 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 ![]() 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-0506 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 ![]() 看了下官网。简单来说最初的核心开发是 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 是另外一个问题 |