先完成,后完美;不要过早优化
-
phyhon -> c++
-
更换多重循环的嵌套顺序,利用cachegrind查看cache miss rate
-
tiling分块,实现数据重用,需确定最优分块大小
-
optimization flags 编译器 -O3
-
多核并行 cilk_for
-
多级缓存分块,类似L1 L2 L3 cache
-
递归分治
-
向量硬件, clang -Ppass=vector / Intel AVX2
-
预处理 矩阵转置 数据对齐 内存管理优化 处理递归边界
- 编码 :将数值转化为所需位更少的表现形式,例如日期编码,struct标识
- 增强 :将更加信息添加到数据结构中,例如链表尾指针
- 预计算:提前执行计算,防止影响关键任务
- 编译器初始化
- 缓存
- 稀疏性