Skip to content

Empty Index occupies large memory space #328

Open
@levchik

Description

@levchik

Hi! Thanks for this wonderful library!

Every empty Index with max_elements of 100 is taking 2.5 MB of RAM, which is quite expensive overhead for index object without data. Initially I measured this using psutil, and later using resource module (resource.getrusage(resource.RUSAGE_SELF).ru_maxrss).

Later I did another measure (just to be sure) by putting script into container and using docker stats command to see RAM usage. It turns out like this: For 1000 empty 512d indexes:

max_elements = 100; MEM = 2.487 GB
max_elements = 1000; MEM = 2.530 GB
max_elements = 10000; MEM = 2.905 GB
max_elements = 100000; MEM = 6.603 GB

For reference my parameters are: M = 64, ef_construction = 400, dim = 512, space = "ip".

Am I missing something? Appreciate your replies!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions