[Python-package] 加快 'import lightgbm' (2026 年夏季版)
□ 总结
这追踪了一些工作 我计划:
- 衡量 " 进口光栅 " 需要多长时间
- 加快速度
- (希望)进行回归测试,使事情保持相对较快
□动机
对耐久性敏感的应用程序,如在线评分,仅仅`进口光谱 ' 所需的时间可以支配产生预测所需的时间。
每个进口光gbm'的成本在产生许多光GBM过程(例如光gbm.dask')的任何应用程序中也都能感受到。
□ 说明
在一款M2 Mac上,创建了虚拟环境并安装了LightGBM的所有可选依赖性.
刷新 - env () {
# macOS有一个名为"Gatekeeper"的系统,它第一次被装入时会扫描每个.dylib.
{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}重塑风云力量 重塑最能模拟 macOS上冷酷的开始
取消 QQ 真实
rm -rf./{ 建设,dist,.import-testing} (中文(简体) ).
Python - m v. 进口测试
源. 进口-测试/斌/激活
pip 安装构建
sh -- -- bdist 轮
管道卸载 -- 是 lightgbm
pip 安装"$(echo./dist/ lightgbm *.whl)" [arrow, dask, pandas, plotting, scikit-learn]".
# 删除 pycache 文件并清除 OS 缓存有助于确保最坏的加载时间
找到.import-testing -type d - name' pycache ' -exec rm -rf ' '\;
苏多清洗
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?输入时间 。 在macOS上首次"冷"的载荷可以达到30秒左右!.
控制台 美元刷新额 $ 时间 Python - c “ 进口光栅” 实数 0m29.743s 用户 0m2.170s 0m.0.429锡尔
下一张通常要快得多(如1-2秒).
控制台
$ 时间 Python - c “ 进口光克bm”
实数 0m1.207s
用户 0m1.059s
sys 0m.0.128s (英语).看来大部分时间都花在装入LightGBM的依赖性上,而不是它自己的代码/共享库上.
控制台
美元刷新额
$ Python - X 导入时间 - c “ 导入 lightgbm ” 2\ 1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
导入时间: 898 | 29522642 | lightgbm
导入时间: 3082 + 29500869 + lightgbm.basic
导入时间: 726 | 26986242 | lightgbm.compat
进口时间: 390 | 19500634 | slearrn
导入时间: 1333 * * * 19133306 * * * * * *
导入时间: 59 | 19127137 | skularn.utils. metadata requests
导入时间: 584 | 19127078 | skularn.utils
导入时间: 456 QQ 18860085 QQ skularn.utils. chunking
导入时间: 962 QQ 18859630 QQ skelarn.utils. param 验证
导入时间: 1007 + 18858668 + sclearn.utils.validation
导入时间: 419 | 18417491 | skularn.utils. aray api
导入时间: 363 | 17457148 | skularn.utils.fixes
导入时间: 8408004163 scipy.stats
进口时间: 409 | 7541770 |熊猫
导入时间: 47962 | 6044188 | scipy.stats. stats py
导入时间:1207 QQ
. . . . . . .
内容来源: lightgbm-org/LightGBM