[composer] composer dump-autoload 的加载优化
2023-02-18 15:37:29 时间
执行命令 composer dump-autoload -o (-o 等同于 --optimize)
原理:
这个命令的本质是将 PSR-4/PSR-0 的规则转化为了 classmap 的规则, 因为 classmap 中包含了所有类名与类文件路径的对应关系,所以加载器不再需要到文件系统中查找文件了。可以从 classmap 中直接找到类文件的路径。
执行命令 composer dump-autoload -a (-a 等同于 --classmap-authoritative)
原理
执行这个命令隐含的也执行了 Level-1 的命令, 即同样也是生成了 classmap,区别在于当加载器在 classmap 中找不到目标类时,不会再去文件系统中查找(即隐含的认为 classmap 中就是所有合法的类,不会有其他的类了,除非法调用)
执行命令 composer dump-autoload --apcu
原理:
使用这个策略需要安装 apcu 扩展。
apcu 可以理解为一块内存,并且可以在多进程中共享。
这种策略是为了在 Level-1 中 classmap 中找不到目标类时,将在文件系统中找到的结果存储到共享内存中, 当下次再查找时就可以从内存中直接返回,不用再去文件系统中再次查找。
相关文章
- C#语法糖系列 —— 第二篇:聊聊 ref,in 修饰符底层玩法
- C#语法糖系列 —— 第一篇:聊聊 params 参数底层玩法
- 一个高频问题:异步操作会创建线程吗?
- 记一次 .NET 某供应链WEB网站 CPU 爆高事故分析
- 记一次 .NET 某智能交通后台服务 CPU爆高分析
- 记一次 .NET 某药品仓储管理系统 卡死分析
- 记一次 .NET 某消防物联网 后台服务 内存泄漏分析
- 记一次 WinDbg 分析 .NET 某工厂MES系统 内存泄漏分析
- 记一次 .NET 某市附属医院 Web程序 偶发性CPU爆高分析
- 记一次 .NET 某妇产医院 WPF内存溢出分析
- 记一次 .NET 某化妆品 webapi 卡死分析
- 记一次 .NET 某智能服装智造系统 内存泄漏分析
- 记一次 .NET 某电商无货源后端服务 死锁分析
- 记一次 .NET 某公交卡扣费系统 程序卡死分析
- 记一次 .NET 某风控管理系统 内存泄漏分析
- 记一次 .NET 某资讯论坛 CPU爆高分析
- 记一次 .NET 某招聘网后端服务 内存暴涨分析
- 记一次 .NET 某电商定向爬虫 内存碎片化分析
- 记一次 .NET 某纺织工厂 MES系统 API 挂死分析
- 记一次 .NET 某上市工业智造 CPU+内存+挂死 三高分析