Takeaway from the benchmarks: The current implementation (dict + pickle) is the fastest as long as there is enough memory without swapping. In case the data does not fit into the memory any more, SQLite (v1 < v2 < v3) is the fastest. In case of low memory without swap, only SQLite were not killed. So I propose we implement the SQLite solution.
The question is which variant? * v1: simple key value store. Benefit: fastest and simplest solution. Drawback: Biggest files on disk (jammy: 1511 MB vs 777 MB of the pickle file) * v2: norm form with packages stores in a separate table. Benefit: smaller than v1 (jammy: 1.31 GB vs 1.51 GB), makes database fetishists happy, only slightly slower than v1. Drawback: More code. * v3: like v2 but key split into beginning and end of path. Benefit: smaller than v2 and can even beat the pickle file (jammy: 710 MB vs 777 MB pickle vs 1313 MB v2). Drawback: significantly slower than v2 and v1, only slightly more complex than v2. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2073787 Title: apport-retrace needs more than 1 GB memory (when using sandbox) To manage notifications about this bug go to: https://bugs.launchpad.net/apport/+bug/2073787/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs