当前位置:首页>python>Mojo 1.0:Python 的皮,Rust 的骨,冲的是 CUDA 的墙

Mojo 1.0:Python 的皮,Rust 的骨,冲的是 CUDA 的墙

  • 2026-08-21 10:42:39
Mojo 1.0:Python 的皮,Rust 的骨,冲的是 CUDA 的墙

一门语言发 1.0,通常意味着「以后不折腾你了」。

Mojo 这次的 1.0,第一件事是把 fn 关键字给删了。

听着挺离谱。但你听我把这事儿讲完,就知道这个删除动作,恰恰是 1.0 该干的活。

时间线也够戏剧:8 月 11 日发 1.0,8 月 18 日编译器全量开源。而在这之前两个月,整个团队刚被高通花了近 40 亿美元买走。

一、Mojo 是个啥?先看写它的人

判断一门新语言值不值得花时间,最快的办法是看作者。

Mojo 出自 Chris Lattner 之手。这个名字你可能不熟,但他的作品你天天在用——LLVM、Clang、Swift、MLIR。

这履历什么水平?打个球迷才懂的比方:不是那种昙花一现的妖星,是巴蒂那种一脚下去球门就得抖三抖、而且十几年如一日的存在。编译器这行有他署名的东西,基本都成了行业地基。

2022 年,他和 Tim Davis(同为前 Google 工程师)创立 Modular,2023 年 Mojo 首次亮相。

它想解决的问题很具体:你在 Python 里写 AI,爽是爽,但一到性能瓶颈就得换语言、换工具链、换一套心智模型。

Mojo 的答案是——语法长得像 Python,但底下给你系统级语言的控制力,而且一份代码能同时打 CPU、GPU、NPU、ASIC。

这最后一句是关键。它冲的不是 Python 的慢,是 CUDA 的墙。

写 GPU kernel 不用再学一套单独的 DSL,需要压到极限时还能直接下到 PTX 汇编。

二、1.0 承诺了什么,又没承诺什么

先说承诺。

1.x 期间的改动将以增量为主,让开发者相信语言不会在脚下持续变形。

这句话对老用户的分量很重。Mojo 前三年 API 变得太狠,不少人试过一轮就跑了。

社区这三年的投入也不小:近 200 位贡献者提了 1100 多个 PR,改动超过 20 万行代码,另有 1000 多人提过 issue。

但「稳定」这两个字,得抠得再细一点。

真正受保护的,只是被显式标记为 stable 的那部分 API——它们遵循语义化版本,同一大版本内保证源码兼容。

现在完全稳定的 trait 有 Deinitable、Movable、Copyable、ImplicitlyCopyable。而 Array、List、Span、String、Bool、Optional 这些你天天用的,只稳了一部分接口。

没标 stable 的,往后照样可能改。

还有两条更该划重点:

ABI 没有稳定。1.0 保的是源码兼容,不是二进制兼容。

稳定性策略文档本身,官方写明是临时的。发现重大问题时还留了例外口子。

所以正确的理解是:1.0 不等于冻结,而是从「随便改」切换到了「改动要负责、要给迁移路径」。

三、fn 被删了:1.0 的代价

回到开头那个删除。

Mojo 原来有两个定义函数的关键字:def 松,fn 严——fn 强制类型检查、强制声明异常。

1.0 直接把 fn 整个移除了,用它会硬报错。而 fn 那套严格语义,全部并入了 def。

也就是说,语言没有变松,是把宽松那条路给堵了。

这操作像什么?像一款玩了三年的游戏突然出大版本,把双技能树砍成一条,还把简单模式删了。老玩家骂声一片,但新人再也不会一开始就选错路。

同期还有几处硬改动:

Pointer 和 UnsafePointer 合并成一个类型。危险性不再挂在类型上,而是转移到具体操作上——跳过边界检查的读写,得用 unsafe_ 前缀命名。

引入了实验性的 interior origins,专门追踪容器内部的引用。举个最经典的坑:你持有 List 某个元素的引用,然后调了一次 append() 触发扩容,那个引用就悬空了。现在编译器会在你后续使用它的地方直接拒绝编译。

Python 用户熟悉的 lambda 回来了,但要带括号和类型标注:lambda (x: Int) -> Int: x * 2

还有一条容易踩:Int 和 UInt 不能再传进 GPU kernel 了。因为它们在主机和设备上宽度可能不同,现在必须用 Int32 这类定宽类型。

好消息是迁移不至于要命:官方给几乎所有改动都准备了 deprecated 别名和编译器 fix-it,机械化替换就能过。

这些改动放在一起看,指向同一个意思——1.0 不是新功能大爆发,是把「同一件事有好几种写法」这个毛病给收拾了。

对一个 1.0 来说,这个选择是对的。

四、性能真相:87%、119x,和被 NumPy 反杀的那一局

到了最该冷静的部分。

Mojo 的宣传口径一度非常炸,「比 Python 快 1000 倍」,网上还有引用到 68000 倍的文章。

这些数字不算假,但成立条件很苛刻——纯 Python 的紧凑数值循环,解释器开销占绝对主导的那种。

看 2026 年的实测数字:数值计算场景下,Mojo 的加速比大约在 78 到 119 倍之间。

依然很能打。但离「一千倍」有距离。

真正有参考价值的是横向对比。橡树岭方向的一篇科学计算论文(arXiv:2509.21039,Godoy、Melnichenko 等)拿 Mojo 写的 GPU kernel 和厂商原生实现对了一遍:

在 NVIDIA H100 上,Mojo 的 GPU kernel 平均约为 CUDA 性能的 87%。

在 AMD MI300A 上,测的 stencil 基准基本与 HIP 持平,差异部分归因于寄存器使用。

再往下拆,分工况差别很明显:

内存瓶颈型的 kernel(七点 stencil、BabelStream),Mojo 有竞争力。

计算瓶颈型的(miniBUDE、Hartree-Fock)就露出差距了,卡点主要在 AMD 上的原子操作和两家的 fast-math 优化。

还有一局最有意思的反杀。

在 spectral-norm 这类问题上,NumPy 靠把活儿甩给 BLAS(编译好的 Fortran)跑到了 520 倍,而 Mojo 只有 119 倍。

跟 Rust + PyO3 比呢?两者差在几个百分点之内,不存在数量级差异。

所以诚实的定位是:Mojo 大致坐在 Numba 和 Rust/PyO3 之间。

这个位置有价值,但不是什么圣杯。

翻译成决策:你的热点要是已经在 NumPy 里、或者已经甩给 CUDA kernel 了,换 Mojo 大概率不会有惊喜。热点要是躺在纯 Python 循环里,那提升会很明显。

五、真正的杀手锏:Python 互操作

如果只看性能数字,你会问一句:那我为啥不直接用 Rust?

这就是 Mojo 最聪明的地方——它不让你二选一。

Mojo 能直接调 Python:

from python import Pythondef use_numpy() raises:    np = Python.import_module("numpy")    array = np.array([1, 2, 3, 4, 5])    print(np.sum(array))

NumPy、PyTorch、Matplotlib,你手上整套 Python 生态都能用,不需要写绑定,不需要包装层。

近期的 nightly 还打通了反向——从 Python 里调 Mojo 函数。这意味着你能给已有的 Python 项目塞一个高性能函数进去,周围代码一行不动。

这才是能落地的采用路径。

别整体重写,挑一个瓶颈:一个训练循环、一个 tokenizer、一个自定义推理 kernel,把它挪到 Mojo,然后从原来的 Python 里 import 回来。

迁移成本跟问题大小成正比,而不是跟你代码库的大小成正比。

26.5 这版还专门优化了这条边界:PythonObject 的算术、比较、成员检查改为直接走 CPython 的抽象协议,官方实测反复做 a + b、a < b 的路径快了约 12 倍。

注意这不是 Mojo 整体性能提升,是精准修了跨语言调用的那道关口。

装起来也简单:uv tool install mojo 或者 pip install mojo,互操作功能需要 Python 3.10 到 3.14。

六、剧情反转:40 亿美元、高通、和一周后的全量开源

现在说这篇里最有戏的部分。

Mojo 的开源是一步一步挪的:2023 年首发时只是免费下载,不带开源许可;2024 年标准库核心部分以 Apache 2.0(附 LLVM 例外)放出;2026 年 1 月整个标准库开源。

编译器一直是闭源的。这也是社区三年来最大的一根刺。

然后来了第一个反转:7 月 29 日,高通完成对 Modular 的收购,价格约 39 亿美元。

社区当场就炸了,担心也很合理——高通自己做 Snapdragon 和 Oryon 芯片,那 Mojo 和 MAX 还能真中立吗?会不会悄悄地就朝自家硅片倾斜了?

紧接着是第二个反转。

8 月 11 日 1.0 发布,编译器仍未开源。一周后,8 月 18 日,Modular 宣布编译器和工具链全量开源,Apache 2.0 附 LLVM 例外。

Apache 2.0 是编程语言和编译器的黄金标准,因为它为各种应用场景提供了极大的灵活性。

LLVM 例外进一步意味着你用 Mojo 编译出来的程序,不需要跟着开源。

到这一步,从语言、标准库到编译器、工具链,整条链子都开了。

但先别急着鼓掌,有一条保留意见得说清楚。

现在是「只读开源」。

Modular 明确表示,暂时还不准备接受编译器和工具链的外部贡献,目标是「今年年底之前」开放。

代码你能看、能 clone、能自己 build,但你提的 patch 现在进不去。

Lattner 在接受 The Register 提问时表示,NVIDIA 和 AMD 仍是重要合作伙伴,他不认为会有问题。

这话可以信,但中立性这东西,得等外部真能自己验证实现和许可、真能往别家硬件的后端里提代码,才算落地。

年底那个节点,比这次开源本身更值得盯。

七、该不该现在上手?三类人三个答案

抛开立场,说点能直接用的判断。

1该上的:你写自定义推理 kernel 或训练热点,已经明确定位到了 Python 瓶颈;或者你在做异构硬件,想要一条不绑死 CUDA 的路;或者你想要接近 Rust 的性能,但不愿意扔掉整套 Python 工具链。   

2该等的:你需要 async、模式匹配、代数数据类型、访问控制、包管理,或者一个能用的 profiler。   

这条得展开一句。Mojo 官方路线图分阶段:Phase 1(高性能 CPU 与加速器代码)已完成,Phase 2(扩展到系统级应用)正在进行。上面列的那些,大部分还没开工,profiler 官方标注是「未开始」。

而 class、继承这些动态面向对象的东西属于 Phase 3——连门都还没进。

所以别把 1.0 理解成「已经能跟 Rust、C++ 掰手腕了」,它现在的成熟度只覆盖高性能 kernel 和 Python 扩展这个窄口。

3别碰的:你 PyTorch + CUDA 跑得挺舒服,没撞到任何墙;或者高通这层所有权的不确定性,对你团队的构建依赖来说是红线。   

顺带提一句 MAX 这边的动静:26.5 简化了安装,支持了 GLM-5.2 和 Nemotron-H(混合 Mamba-2 架构),Kimi 2.5 也能跑了。

Mojo 和 MAX 的边界这次也划清了——部分面向加速器的 API 挪进了新的 max 包。

最后:一门语言的成人礼

这次 1.0 最容易被误读的一点,是把它当成「终于不变了」。

不是。它真正的意思是——从今天起,变化开始有代价了。

在这之前,Mojo 可以随时推翻自己。1.0 之后,每一次破坏性改动都得带上迁移路径、deprecated 别名和 fix-it。

这是成人礼,不是毕业典礼。

· · ·

而这门语言真正的赌注,也不在语法糖或者那 87% 上。它赌的是:AI 这行需不需要一层不属于任何单一硬件厂商的软件地基。

Lattner 用 LLVM 干成过一次这样的事。这次他要在被一家芯片公司收购之后,再干一次同样的事。

有点意思,也有点悬。

编译器开源了,是个好开头。但真正的答案在年底——外部开发者能不能把 patch 提进去,尤其是往非高通硬件的后端里提。

到那天,中立性才算兑现,而不只是一句表态。

你怎么看?如果为了摆脱 CUDA 绑定,你愿意花时间学一门新语言吗,还是宁可继续等生态成熟?

评论区聊聊。

觉得有用?点个「在看」支持一下 👇

关注我,获取更多技术圈干货

参考资料:Modular 官方博客《Modular 26.5: Mojo 1.0 is here!》与开源公告;arXiv:2509.21039(Godoy、Melnichenko 等,Mojo GPU 科学计算 kernel 性能研究);FOSS Force、Phoronix、The Register、heise online 相关报道;byteiota、XenoSpectrum 技术拆解。部分素材来源于网络,如有侵权请联系删除。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 12:24:13 HTTP/2.0 GET : https://f.mffb.com.cn/a/511582.html
  2. 运行时间 : 0.512750s [ 吞吐率:1.95req/s ] 内存消耗:4,595.24kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=eb6136bc77131bae6e12606a0cba9331
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001135s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001372s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.006839s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.006267s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001370s ]
  6. SELECT * FROM `set` [ RunTime:0.002662s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001390s ]
  8. SELECT * FROM `article` WHERE `id` = 511582 LIMIT 1 [ RunTime:0.005622s ]
  9. UPDATE `article` SET `lasttime` = 1787286253 WHERE `id` = 511582 [ RunTime:0.001985s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000711s ]
  11. SELECT * FROM `article` WHERE `id` < 511582 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.006920s ]
  12. SELECT * FROM `article` WHERE `id` > 511582 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.031392s ]
  13. SELECT * FROM `article` WHERE `id` < 511582 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.116746s ]
  14. SELECT * FROM `article` WHERE `id` < 511582 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.080291s ]
  15. SELECT * FROM `article` WHERE `id` < 511582 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.061622s ]
0.516267s