这篇博客文章探讨了如何通过压缩来减少网站流量并改善页面加载时间。作者指出了GitHub Pages不支持Brotli压缩的缺陷,并提出了一种使用JavaScript在客户端解压缩预压缩数据的解决方案。作者还比较了gzip和Brotli的压缩效率,并推荐使用Brotli以获得更小的文件大小和更快的加载速度。
本文介绍了作者如何优化 Rust 序列化/反序列化框架 serde_json 中字符串处理速度。作者首先通过使用 memchr 库优化错误路径中的行号和列号计算,将速度提高了 2 倍。接着,作者利用 SWAR 技术和查找表优化了字符串解析过程中对转义字符和控制字符的处理,显著提升了长字符串的解析速度。最后,作者通过手动生成 UTF-8 编码,避免了不必要的内存操作,进一步提升了性能。最终,作者在多个字符串密集型 JSON 基准测试中实现了 10% 到 32% 的性能提升。