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