![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法手册
文章平均质量分 92
执行长老
一个纯粹的C++爱好者,喜欢它的简洁、灵活、优雅。
展开
-
通用矩阵乘法GEMM优化与实现(1)
通用矩阵乘法(General Matrix Multiply)是最常见底层算法的之一,广泛用于线性代数、机器学习、统计学等各个领域。矩阵乘法的时间复杂度是O(n^3),虽然有Strassen等优化算法可以降低算法复杂度,但实际效果仍然有限。本文不讨论矩阵乘法的算法优化,仅讨论矩阵乘法的代码优化技术。内容并非介绍和照搬目前流行的BLAS库的做法,而是基于完备的代码优化理论体系,讨论并给出矩阵乘法的最优实现。原创 2022-11-11 20:14:26 · 2418 阅读 · 2 评论 -
内存分配器
内存分配器(Memory Allocator)负责内存分配与管理。内存分配器是所有容器的基础,它总是隐藏在容器背后工作,因此内存分配器对实现者非常重要,而对应用者几乎可以忽略。内存分配器分为两级,第一级分配器直接调用C函数分配和释放内存,第二级分配器则采用内存池来管理内存。如果申请的内存块足够大,那么启动第一级分配器,否则启动第二级分配器。这种设计的优点是可以快速分配和释放小块内存,同时避免内存碎片;缺点是内存池的生命周期比较长,并且很难显式释放。...原创 2021-06-18 17:28:42 · 1392 阅读 · 0 评论