MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / memory_usage_bytes

Method memory_usage_bytes

nodedb-vector/src/hnsw/graph/index.rs:305–319  ·  view source on GitHub ↗

Approximate memory usage in bytes (vector data + neighbor lists).

(&self)

Source from the content-addressed store, hash-verified

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 ///

Callers 1

statsMethod · 0.80

Calls 4

bytes_for_dimMethod · 0.80
sumMethod · 0.80
lenMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected