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

Reply via email to