webpack优化篇(四十六):充分利用缓存提升二次构建速度

简介: webpack优化篇(四十六):充分利用缓存提升二次构建速度

说明

玩转 webpack 学习笔记



缓存

目的:提升二次构建速度


缓存思路:

  • babel-loader 开启缓存
  • terser-webpack-plugin 开启缓存
  • 使用 cache-loader 或者 hard-source-webpack-plugin



实战


先不开启 babel-loader 缓存

6d0eb45d7a8c4e75bd7583e30d543088.png

运行 npm run build

c3697cb457654021ae791ffce369cc02.png




开启 babel-loader 缓存

new HappyPack({
    // 3) re-add the loaders you replaced above in #1:
    loaders: ['babel-loader?cacheDirectory=true']
})


第一运行 npm run build 之后,.cache 目录下会生成一个 babel-loader 的文件夹

b5a85488df2e4111af74e6ea5d5628c7.png


当我们再次运行的时候:发现还有有点效果,这个还是跟模块有关,越多效果越明显

63fe390b121b42c4bd161fb4cc353fef.png


开启 terser-webpack-plugin 开启缓存

optimization: {
    minimizer: [
        new TerserPlugin({
            parallel: true,
            cache: true
        }),
    ],
},


运行之后 npm run build 之后,.cache 目录下会生成一个 terser-webpack-plugin 的文件夹


06577034e63b42568ef389a323bc6f40.png


我们可以看一下打包效果:可以看到提升的效果还是很明显的


c4c30e7b7d8b44509c5ef52dcf7149ab.png


使用 hard-source-webpack-plugin 插件

github:https://github.com/mzgoddard/hard-source-webpack-plugin

a7ff73d7865543fda55ac0fd305f6455.png


先安装依赖:

npm install --save-dev hard-source-webpack-plugin


a4a061b31c3e4c7ca1c68788cc34fcb8.png


使用插件:


const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
plugins: [
  new HardSourceWebpackPlugin()
]


运行 npm run build 之后,.cache 目录下会生成一个 hard-source 的文件夹

b994550c6dfd446891a2dbb876b254c4.png


我们可以发现速度很快。

2ff4d2e3ff3447e19077992b78e99941.png

目录
相关文章
|
8月前
|
SQL 缓存 监控
MySQL缓存机制:查询缓存与缓冲池优化
MySQL缓存机制是提升数据库性能的关键。本文深入解析了MySQL的缓存体系,包括已弃用的查询缓存和核心的InnoDB缓冲池,帮助理解缓存优化原理。通过合理配置,可显著提升数据库性能,甚至达到10倍以上的效果。
|
10月前
|
存储 机器学习/深度学习 缓存
性能最高提升7倍?探究大语言模型推理之缓存优化
本文探讨了大语言模型(LLM)推理缓存优化技术,重点分析了KV Cache、PagedAttention、Prefix Caching及LMCache等关键技术的演进与优化方向。文章介绍了主流推理框架如vLLM和SGLang在提升首Token延迟(TTFT)、平均Token生成时间(TPOT)和吞吐量方面的实现机制,并展望了未来缓存技术的发展趋势。
3223 12
性能最高提升7倍?探究大语言模型推理之缓存优化
|
12月前
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1548 0
|
7月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
1344 3
|
缓存 并行计算 PyTorch
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
2295 0
|
8月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1499 5
|
9月前
|
缓存 运维 安全
WordPress安全加速:Cloudflare + Nginx缓存优化方案
本文介绍如何通过Cloudflare与Nginx优化WordPress网站性能,涵盖静态资源长期缓存、动态页面智能缓存及敏感路径保护,提升加载速度并保障后台安全。适用于使用Cloudflare与Nginx环境的WordPress站点。
413 0
|
缓存 监控 前端开发
在资源加载优化中,如何利用浏览器缓存提升性能?
通过以上这些方法,可以有效地利用浏览器缓存来提升资源加载的性能,减少网络请求次数,提高用户体验和应用的响应速度。同时,需要根据具体的应用场景和资源特点进行灵活调整和优化,以达到最佳的效果。此外,随着技术的不断发展和变化,还需要持续关注和学习新的缓存优化方法和策略。
658 159
|
存储 缓存 自然语言处理
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
KV缓存是大语言模型(LLM)处理长文本的关键性能瓶颈,现有研究多聚焦于预填充阶段优化,忽视了解码阶段的重要性。本文提出SCOPE框架,通过分离预填充与解码阶段的KV缓存策略,实现高效管理。SCOPE保留预填充阶段的关键信息,并在解码阶段引入滑动窗口等策略,确保重要特征的有效选取。实验表明,SCOPE仅用35%原始内存即可达到接近完整缓存的性能水平,显著提升了长文本生成任务的效率和准确性。
855 3
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
|
存储 缓存 小程序
微信小程序数据缓存与本地存储:优化用户体验
本文深入探讨微信小程序的数据缓存与本地存储,介绍其意义、机制及应用场景。通过合理使用内存和本地缓存,可减少网络请求、提升加载速度和用户体验。文中详细讲解了常用缓存API的使用方法,并通过一个新闻列表案例展示了缓存的实际应用。最后提醒开发者注意缓存大小限制、时效性和清理,以确保最佳性能。