Memory 特征空稀疏矩阵内存使用

Memory 特征空稀疏矩阵内存使用,memory,sparse-matrix,eigen,Memory,Sparse Matrix,Eigen,我试图理解我的程序的内存使用情况,它使用的是EIGEN,但有一部分与EIGEN有关,我不理解 我正在创建一个SparseMatrix(2,3),为空,其代价是12字节。内部和外部索引是int 我期望8个字节,但我不明白为什么我比实际成本低1个整数。以下是我的计算: Cost of non zeroes values = 0 bytes Cost of inner index = 0 bytes Cost of outer index = 2 rows * 4 bytes = 8 bytes To

我试图理解我的程序的内存使用情况,它使用的是EIGEN,但有一部分与EIGEN有关,我不理解

我正在创建一个
SparseMatrix(2,3)
,为空,其代价是12字节。内部和外部索引是
int

我期望8个字节,但我不明白为什么我比实际成本低1个整数。以下是我的计算:

Cost of non zeroes values = 0 bytes
Cost of inner index = 0 bytes
Cost of outer index = 2 rows * 4 bytes = 8 bytes
Total cost = 8 bytes
我想我的错误在于内部索引成本,但我不明白为什么?整个矩阵是空的,所以内部数组也应该是空的

提前感谢。

看,外部索引缓冲区还有一个条目来存储最后一行的结束位置