当前位置:首页>python>Codon:不改一行代码,让 Python 速度提升 100 倍

Codon:不改一行代码,让 Python 速度提升 100 倍

  • 2026-01-29 18:12:55
Codon:不改一行代码,让 Python 速度提升 100 倍

了解 Codon 如何通过 AOT compilation 实现 100x 的 Python 提速。原生 multithreading、GPU kernels、零开销。

作为一个花了无数小时等待 ML 训练作业结束、看着 NumPy 在庞大的医学影像数据集上像蜗牛一样爬、折腾怎么也跑不快的 Python 代码的人,我经历过太多“Python 太慢了”的时刻。大家都懂,对吧?你写了优雅漂亮的 Python 代码,结果现实给你一记重拳:一个本该秒出的结果,脚本却要跑 18 秒。

这时登场的是 Codon。别误会,它不是又一个“Python 替代品”,不需要你再学一门新语言。它还是 Python,但为现代场景重塑。把它想象成去健身房练成型的 Python 运动健将表亲。

我们共同面对的 Python 悖论

说到 Python:爱它、恨它、离不开它。它支撑了大部分 AI/ML 开发、数据科学,甚至越来越多的整个技术生态。语法简洁、库丰富、社区庞大。

但说实话:Python 很慢。真的很慢。

在我哥本哈根大学做医学 AI 博士研究时,常常跑生存期预测模型,预处理步骤慢到我可以去喝一杯(甚至三杯)咖啡。瓶颈?还是那个熟悉的 Python。

常见变通做法?把性能关键部分下沉到 C/C++,写点 Cython 封装,或者祈祷你的 NumPy 操作足够向量化。这是我们都默认的妥协:享受 Python 的易用性,但要交性能税。

Codon 究竟是什么?

Codon 是一个高性能的 Python compiler,它会把你的 Python 代码翻译为原生 machine code:没有 runtime overhead,没有 interpreter,没有会扼杀 multithreading 梦想的 GIL(Global Interpreter Lock)。

数据相当炸裂:

  • 比普通 Python 快 10–100 倍(有时更多)
  • 性能可媲美 C/C++
  • 真正的原生 multithreading(没看错)
  • 内置 GPU programming 支持
  • 完整编译的原生 NumPy 实现
CODON 的工作原理(图片来自 GitHub 页面)

下面用实际例子来看看意味着什么。

Fibonacci 现实检验

这是一个最能体现速度差异的简单例子。经典的递归 Fibonacci 函数:性能对比里的“Hello World”:

from time import timedeffib(n):return n if n < 2else fib(n - 1) + fib(n - 2)t0 = time()ans = fib(40)t1 = time()print(f'Computed fib(40) = {ans} in {t1 - t0} seconds.')

用常规 Python 运行:

Computed fib(40)102334155 in 17.98 seconds.

用完全相同的代码,通过 Codon 运行:

Computed fib(40)102334155 in 0.28 seconds.

不改一行代码,速度提升 65 倍。细品。

这门“魔法”如何实现?

不同于 Python 的解释执行,Codon 采用 ahead-of-time(AOT)编译。它会分析你的整个程序,进行激进优化,并通过 LLVM(Rust、Swift 等语言也用的编译基础设施)编译为原生 machine code。

魔法分几步:

  1. Static type inference:自动推断类型(不需要 type hints,但有更好)
  2. High-level optimizations:理解 Python 特有模式并相应优化
  3. LLVM backend:生成高度优化的 machine code
  4. Zero runtime overhead:没有 interpreter、没有 bytecode,只有纯原生执行

结果?你写的是 Python,跑起来像 C++。

多线程的解放

还记得 GIL 吗?Python 的 Global Interpreter Lock 臭名昭著,它阻止了真正的并行执行。你可以创建很多线程,但它们轮流执行,而不是并行跑。

Codon 没有 GIL。

看这个——真正 multithreading 的并行素数计数:

from sys import argvdefis_prime(n):    factors = 0for i inrange(2, n):if n % i == 0:            factors += 1return factors == 0limit = int(argv[1])total = 0@par(schedule='dynamic', chunk_size=100, num_threads=16)for i inrange(2, limit):if is_prime(i):        total += 1print(total)

@par 装饰器会用 OpenMP 自动并行化循环。注意,Codon 足够聪明,会把 total += 1 处理为原子化的 reduction,自动避免竞争条件。

对处理大规模医学影像数据的人来说,这是颠覆性的。几千张图像的预处理?并行化。Monte Carlo 模拟?并行化。代码看起来还是 Python,运行起来像一个多线程的 C++ 应用。

无痛的 GPU Programming

更刺激的是,Codon 允许你用 Python 语法写 GPU kernels:

import gpuMAX    = 1000N      = 4096pixels = [0for _ inrange(N * N)]defscale(x, a, b):return a + (x/N)*(b - a)@gpu.kerneldefmandelbrot(pixels):    idx = (gpu.block.x * gpu.block.dim.x) + gpu.thread.x    i, j = divmod(idx, N)    c = complex(scale(j, -2.000.47), scale(i, -1.121.12))    z = 0j    iteration = 0whileabs(z) <= 2and iteration < MAX:        z = z**2 + c        iteration += 1    pixels[idx] = int(255 * iteration/MAX)mandelbrot(pixels, grid=(N*N)//1024, block=1024)

这就是在 Python 里做 GPU 编程。没有 CUDA 样板、没有内存管理 wrestling、也不需要换语言。只是在 Python 里加点 GPU 特定的 decorators。

更快的 NumPy

Codon 的一大亮点是它的原生 NumPy 实现。这不是简单包一层 C 库:而是用 Codon 重新实现了 NumPy,从而打开了大规模优化空间。

下面是用 Monte Carlo 估计 π:

import timeimport numpy as nprng = np.random.default_rng(seed=0)x = rng.random(500_000_000)y = rng.random(500_000_000)t0 = time.time()pi = ((x-1)**2 + (y-1)**2 < 1).sum() * (4 / len(x))t1 = time.time()print(f'Computed pi~={pi:.4f} in {t1 - t0:.2f} sec')

Python + NumPy:2.25 秒 Codon + NumPy:0.43 秒

这意味着在已高度优化的 NumPy 上又快了 5 倍。编译器可以内联操作、融合数组运算、消除不必要的内存分配——这些在传统 NumPy 里很难做到。

对处理大张量和矩阵运算的 ML 从业者,这能极大缩短实验迭代时间。

Python 生态依旧可用

我一开始的担忧:我们依赖的那些 Python 包怎么办?scikit-learn、pandas、matplotlib、PyTorch?

Codon 通过与 Python 的 interoperability 优雅解决:

from python import matplotlib.pyplot as pltdata = [x**2for x in range(10)]plt.plot(data)plt.show()

你可以导入并使用任意 Python 包。性能关键的部分交给 Codon 的 compiler,其余与常规 Python 生态对接。两全其美。

诚实的取舍

不得不说:Codon 不是 CPython 的完全替代。有些 Python 特性与静态编译天性不合:

  • 运行时动态改变类型(静态编译的代价)
  • 某些最动态的 metaprogramming 特性
  • 在所有边界行为上与 CPython 完全一致

但基于我的体验:对大多数数据科学、ML 和计算型工作负载,这些限制并不关键。你不会在 NumPy pipeline 或模型训练循环里用 Python 的动态特性去改变量类型。你写的是相对静态、性能关键、被 Python 解释器掣肘的代码。

这正是 Codon 发光的地方。

真实世界的影响:我的场景

举个我自己的例子。博士期间,我做的是医学影像数据的生存期预测模型。一个典型的预处理流程包括:

  1. 读取 DICOM 图像(成千上万张)
  2. 像素强度归一化
  3. 从感兴趣区域提取特征
  4. 在患者队列间计算统计量

纯 Python + NumPy,在大数据集上可能要跑几个小时。即便做了 vectorization,I/O 与计算瓶颈依旧存在。

用 Codon,我可以:

  • 将预处理 pipeline 编译为原生代码
  • 在 CPU 核心间并行化图像处理
  • 消灭紧密循环上的解释器开销
  • 端到端优化,无需下沉到 C++

潜在的时间节省非常可观。原来要 3 小时的流程,可能 10–20 分钟就搞定。这不仅是省事,更是从根本上提升科研迭代速度。

入门非常简单

安装很轻松:

/bin/bash -c "$(curl -fsSL https://exaloop.io/install.sh)"

然后你可以:

  • 直接运行:codon run file.py
  • 开启优化运行:codon run -release file.py
  • 构建可执行文件:codon build -release file.py
  • 生成 LLVM IR:codon build -release -llvm file.py

学习曲线很低,因为它基本还是 Python。你照常写代码,Codon 帮你把它跑快。

更大的图景

Codon 代表着一个重要趋势:拒绝“易写”和“高性能”之间的伪二元对立。几十年来,我们默认高级语言要用性能换生产力。Python 给了我们极高的生产力,我们也忍受了性能损耗。

但如果不必妥协呢?

像 Codon、Mojo 这样的项目正在突破边界。它们在问:为什么不能两者兼得?为什么不能用高级、表达力强的语言,同时获得原生性能?

对 AI/ML 从业者、数据科学家和计算研究者,这种转变可能是革命性的。想象一下:

  • 在同样硬件上让训练速度提升 10 倍
  • 把原来要跑几个小时的数据管道缩短到几分钟
  • 原型与生产用同一套代码
  • 无需再把关键路径重写成 C++ 或 Rust

你该现在就用 Codon 吗?

我的诚恳建议:

适合尝试 Codon 的情况:

  • 你的 Python 代码对性能敏感(数值计算、模拟、数据处理)
  • 你能接受 Python 特性的一个子集
  • 你需要真正的 multithreading 或 GPU 能力
  • 你的工具对编译时开销能接受

继续用 CPython 的情况:

  • 你需要与 Python 生态的最高兼容性
  • 你的代码重度依赖 Python 的动态特性
  • 性能不是你的首要关注
  • 你在做依赖众多的快速原型开发

就我的场景:ML 研究和医疗 AI,Codon 非常有吸引力。计算核心上的性能增益很难忽视,而且无需与 GIL 斗争就能并行化,这点太重要了。

未来是编译的

写下这些时,Codon 在 GitHub 上已有 16.3k stars,社区活跃。项目采用 Apache-2.0 许可,并得到(NSF、NIH、MIT 等)严肃机构的支持,持续改进中。

它完美吗?不是。会完全取代 CPython 吗?大概率不会。但它是否代表了高性能 Python 的一个令人兴奋的方向?绝对是。

如果你曾希望 Python 更快,却不想把代码重写成 C++,Codon 值得一试。它不仅是另一个 compiler:而是当性能不再是事后之念时,对 Python 可能性的重新想象。

试试看。写点代码。计个时。我想你会被惊到。

也许,我们终于可以不再默默接受那笔一直以来的性能税了。


GitHub :

仓库: https://github.com/exaloop/codon

文档: https://docs.exaloop.io

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 23:53:26 HTTP/2.0 GET : https://f.mffb.com.cn/a/468883.html
  2. 运行时间 : 0.103899s [ 吞吐率:9.62req/s ] 内存消耗:4,795.85kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=6af8f5d9dda0e0ad753bf6a4f2d27a9b
  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.000538s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000782s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000352s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000810s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000518s ]
  6. SELECT * FROM `set` [ RunTime:0.000190s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000610s ]
  8. SELECT * FROM `article` WHERE `id` = 468883 LIMIT 1 [ RunTime:0.001031s ]
  9. UPDATE `article` SET `lasttime` = 1770479606 WHERE `id` = 468883 [ RunTime:0.006992s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000249s ]
  11. SELECT * FROM `article` WHERE `id` < 468883 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000437s ]
  12. SELECT * FROM `article` WHERE `id` > 468883 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000565s ]
  13. SELECT * FROM `article` WHERE `id` < 468883 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.013733s ]
  14. SELECT * FROM `article` WHERE `id` < 468883 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005147s ]
  15. SELECT * FROM `article` WHERE `id` < 468883 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005456s ]
0.105477s