Approximate memory usage in bytes (vector data + neighbor lists).
(&self)
| 303 | |
| 304 | /// Approximate memory usage in bytes (vector data + neighbor lists). |
| 305 | pub fn memory_usage_bytes(&self) -> usize { |
| 306 | let vector_bytes = self.nodes.len() * self.params.dtype.bytes_for_dim(self.dim); |
| 307 | let neighbor_bytes: usize = self |
| 308 | .nodes |
| 309 | .iter() |
| 310 | .map(|n| { |
| 311 | n.neighbors |
| 312 | .iter() |
| 313 | .map(|layer| layer.len() * 4) |
| 314 | .sum::<usize>() |
| 315 | }) |
| 316 | .sum(); |
| 317 | let node_overhead = self.nodes.len() * std::mem::size_of::<Node>(); |
| 318 | vector_bytes + neighbor_bytes + node_overhead |
| 319 | } |
| 320 | |
| 321 | /// Export all vectors as F32 for snapshot transfer. |
| 322 | /// |
no test coverage detected