{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":701243668,"defaultBranch":"lineage-20.0","name":"android_bionic","ownerLogin":"2spirit","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-10-06T08:27:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/64271596?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1696580837.432818","currentOid":""},"activityList":{"items":[{"before":"e0aac7df6f58138dae903b5d456c947a3f8092ea","after":"eb18271305b0748c4e7e5fb0b13805b87be01eaf","ref":"refs/heads/lineage-20.0","pushedAt":"2023-10-06T08:29:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"2spirit","name":null,"path":"/2spirit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64271596?s=80&v=4"},"commit":{"message":"Switch to jemalloc memory allocator\n\nOverall, jemalloc performs significantly better than Scudo in Bionic's\nreal-world memory_replay traces (all times in milliseconds):\n\n+----------------+-------+----------+\n| Trace | Scudo | jemalloc |\n+----------------+-------+----------+\n| SQL | 27 | 21 |\n| Angry Birds 2 | 2236 | 1501 |\n| Camera | 4251 | 979 |\n| Candy Crush | 2197 | 1325 |\n| Gmail | 594 | 463 |\n| Maps | 434 | 344 |\n| Photos | 1330 | 477 |\n| PUBG | 666 | 416 |\n| surfaceflinger | 221 | 192 |\n| system_server | 1921 | 1416 |\n| SystemUI | 102 | 79 |\n| YouTube | 363 | 294 |\n+----------------+-------+----------+\n\njemalloc also tends to use slightly less memory than Scudo for most\ntraces. These tests were conducted on desktop x86 Linux with glibc and\nthe latest stable version of each allocator, but they should still be\nrelevant. RSS values in KiB:\n\n+----------------+--------+----------+\n| Trace | Scudo | jemalloc |\n+----------------+--------+----------+\n| Angry Birds 2 | 793948 | 746992 |\n| Camera | 219372 | 251888 |\n| Candy Crush | 548288 | 550148 |\n| Gmail | 195236 | 193048 |\n| Maps | 159860 | 159816 |\n| Photos | 175436 | 171872 |\n| PUBG | 233752 | 223572 |\n| surfaceflinger | 94736 | 107068 |\n| system_server | 471048 | 484392 |\n| SystemUI | 54432 | 60740 |\n| YouTube | 139376 | 142252 |\n+----------------+--------+----------+\n\nWhile not representative of real-world usage, jemalloc also performs\nfairly well in synthetic benchmarks (all times in nanoseconds):\n\n+-----------------+---------+----------+\n| Benchmark | Scudo | jemalloc |\n+-----------------+---------+----------+\n| alloc 8 | 87.9 | 60.1 |\n| alloc 16 | 87.9 | 60 |\n| alloc 32 | 88.6 | 60.7 |\n| alloc 64 | 88.6 | 59.7 |\n| alloc 512 | 89.2 | 60 |\n| alloc 1024 | 89.4 | 59.8 |\n| alloc 8192 | 89.8 | 65.2 |\n| alloc 16384 | 92.7 | 69.1 |\n| alloc 32768 | 97.2 | 74 |\n| alloc 65536 | 109 | 83.8 |\n| alloc 131072 | 41536 | 42720 |\n| alloc40x 8 | 2156 | 2556 |\n| alloc40x 16 | 2155 | 2244 |\n| alloc40x 32 | 2234 | 2312 |\n| alloc40x 64 | 2234 | 2289 |\n| alloc40x 512 | 2274 | 8171 |\n| alloc40x 1024 | 2397 | 2162 |\n| alloc40x 8192 | 3550 | 78880 |\n| alloc40x 16384 | 3732 | 124454 |\n| alloc40x 32768 | 3849 | 275460 |\n| alloc40x 65536 | 4987 | 727598 |\n| alloc40x 131072 | 2745207 | 3067980 |\n| alloc8192 1x | 464 | 454 |\n| alloc8192 2x | 510 | 488 |\n| alloc8192 3x | 587 | 523 |\n| alloc8192 4x | 665 | 557 |\n| alloc8192 5x | 742 | 598 |\n| alloc8192 6x | 818 | 633 |\n| alloc8192 7x | 884 | 669 |\n| alloc8192 8x | 960 | 699 |\n| alloc8192 9x | 1045 | 734 |\n| alloc8192 10x | 1131 | 770 |\n| alloc8192 11x | 1207 | 806 |\n| alloc8192 12x | 1282 | 841 |\n| alloc8192 13x | 1363 | 877 |\n| alloc8192 14x | 1442 | 912 |\n| alloc8192 15x | 1512 | 944 |\n| alloc8192 16x | 1587 | 978 |\n| alloc8192 24x | 2256 | 21195 |\n| alloc8192 32x | 2867 | 45446 |\n| alloc8192 40x | 3522 | 71618 |\n| alloc8192 48x | 4126 | 89740 |\n| alloc8192 56x | 4786 | 114990 |\n| alloc8192 64x | 5412 | 141082 |\n| alloc8192 72x | 6049 | 170742 |\n| alloc8192 80x | 6712 | 198480 |\n| alloc8192 88x | 7331 | 221557 |\n| alloc8192 96x | 7976 | 251462 |\n| alloc8192 104x | 8581 | 281626 |\n| alloc8192 112x | 9245 | 313164 |\n| alloc8192 120x | 9914 | 353147 |\n| alloc8192 128x | 10514 | 376625 |\n| alloc8192 136x | 11187 | 408194 |\n| alloc8192 144x | 11802 | 445694 |\n| alloc8192 160x | 13083 | 514547 |\n| alloc8192 176x | 14414 | 582501 |\n| alloc8192 192x | 15746 | 654346 |\n| alloc8192 208x | 17044 | 712620 |\n| alloc8192 224x | 18405 | 769963 |\n| alloc8192 240x | 19744 | 843969 |\n| alloc8192 256x | 21160 | 917803 |\n+-----------------+---------+----------+\n\nScudo performs fairly well for a hardened memory allocator, but we're\noptimizing for performance.\n\nFull benchmark data with graphs: https://docs.google.com/spreadsheets/d/1LG_kxaK5cI14gGtnyM-nNNmfpMdV9Vh-LtYoq7H5J4s/edit\n\n[ghostrider-reborn] adapted to android 12\n\nChange-Id: Ia4901eedfaa2c9779678c5b6532979de4919ee01\nSigned-off-by: Adithya ","shortMessageHtmlLink":"Switch to jemalloc memory allocator"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0wNlQwODoyOTo1NC4wMDAwMDBazwAAAAOQ3Elw","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0wNlQwODoyOTo1NC4wMDAwMDBazwAAAAOQ3Elw","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0wNlQwODoyOTo1NC4wMDAwMDBazwAAAAOQ3Elw"}},"title":"Activity ยท 2spirit/android_bionic"}