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
Touch seeded packages, which is subscribed to apport in Ubuntu.
https://bugs.launchpad.net/bugs/2073787

Title:
  apport-retrace needs more than 1 GB memory (when using sandbox)

Status in Apport:
  Triaged
Status in apport package in Ubuntu:
  Triaged

Bug description:
  The system tests test_retrace_system_sandbox and
  test_retrace_jammy_sandbox fail on arm64, ppc64el, s390x, because
  apport-retrace is killed by the OOM killer. Example:

  autopkgtest kernel: Out of memory: Killed process 3597 (apport-
  retrace) total-vm:1512420kB, anon-rss:1241460kB, file-rss:2592kB,
  shmem-rss:0kB, UID:0 pgtables:2554kB oom_score_adj:0

  Log: https://autopkgtest.ubuntu.com/results/autopkgtest-oracular-
  bdrung-apport/oracular/s390x/a/apport/20240722_145904_d3c2f@/log.gz

  apport-retrace should be able to retrace crashes without needing
  multiple gigabytes of memory.

To manage notifications about this bug go to:
https://bugs.launchpad.net/apport/+bug/2073787/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to