如何利用 Mix Xref 避免 Elixir 中的重新编译地狱

2024-11-05

本文探讨了 Elixir 中模块重新编译的问题,指出未优化的依赖关系会导致修改少量代码却触发大量文件重新编译,从而严重影响开发效率。文章详细解释了如何使用 mix xref 工具检测、理解和修复编译依赖问题,并提供了四种策略:将宏移动到独立模块、运行时引用模块(以 Absinthe 为例)、简化宏以及避免使用宏。此外,文章还建议在 CI 流程中添加检测机制,以防止此类问题再次发生,并推荐使用 DepViz 和 Graphviz 可视化依赖关系。

阅读更多
18
未分类 mix xref

优化Postgres表布局以获得最高效率

2024-10-08

本文探讨了PostgreSQL数据库中数据对齐如何影响表和索引的大小和性能。作者指出,PostgreSQL为了确保数据在物理层上的对齐,会在数据之间添加填充字节,虽然这会增加存储空间,但能加快数据访问速度。文章详细解释了对齐规则、计算对齐边界的方法,以及如何通过调整列顺序来优化表结构,以减少存储空间和提高查询性能。此外,文章还讨论了数据对齐对索引的影响,并提供了在实际应用中的示例和建议。

阅读更多
22
未分类 数据对齐