{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":204009988,"defaultBranch":"master","name":"tcmalloc","ownerLogin":"google","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-23T14:02:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1342004?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1711390503.0","currentOid":""},"activityList":{"items":[{"before":"4fcc604fa9931dc6fa18329214fb98f5ca30d5bc","after":"cb22fe60d668772f5e18a7f711accd32d3983f69","ref":"refs/heads/master","pushedAt":"2024-09-19T20:39:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Enforce maximum pages allowed per span.\n\nWe already do this implicitly, but add a check and a test to verify that.\n\nPiperOrigin-RevId: 676545131\nChange-Id: I2c4bf8437e9c29d39837c018fea252d9ab7b06f4","shortMessageHtmlLink":"Enforce maximum pages allowed per span."}},{"before":"6c965fce0c3126b20d807e6ff49343eaa204b559","after":"4fcc604fa9931dc6fa18329214fb98f5ca30d5bc","ref":"refs/heads/master","pushedAt":"2024-09-19T17:41:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Remove noubsan tags.\n\nPiperOrigin-RevId: 676474076\nChange-Id: Iae99f06fd8007640ae9271cbeb42e1fb8915aa99","shortMessageHtmlLink":"Remove noubsan tags."}},{"before":"3a47ca07f422d7fb087d4032520c9df68e5a9918","after":"6c965fce0c3126b20d807e6ff49343eaa204b559","ref":"refs/heads/master","pushedAt":"2024-09-18T23:23:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Fix fast_path_diss_test.\n\nPiperOrigin-RevId: 676173380\nChange-Id: Ia46c33155bf85bb5e321437f51cd7dc05a66b56f","shortMessageHtmlLink":"Fix fast_path_diss_test."}},{"before":"96ca3f89e9e77a51a53fbde8672650e869ec7f9b","after":"3a47ca07f422d7fb087d4032520c9df68e5a9918","ref":"refs/heads/master","pushedAt":"2024-09-16T21:47:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Accurately track bytes needed when logging.\n\nPreviously, once the buffers were full, the required bytes count stopped\naccumulating.\n\nPiperOrigin-RevId: 675296605\nChange-Id: Id6746cdcae1a3f900c93da410d1c76f38040af4e","shortMessageHtmlLink":"Accurately track bytes needed when logging."}},{"before":"4bf39a70bda39f28f18a9a9bc3fb39f9bbff3bd4","after":"96ca3f89e9e77a51a53fbde8672650e869ec7f9b","ref":"refs/heads/master","pushedAt":"2024-09-16T21:05:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Use only the required number of bits for PageId in span.\n\nWith kAddressBits = 48 and maximum kPageShift of 12, PageId needs only 36 bits. The additional 28 bits may be used to increase cache and bitmap size in the future.\n\nPiperOrigin-RevId: 675282183\nChange-Id: I72d66e712916a194e12918c77f45cfe0ed98dee5","shortMessageHtmlLink":"Use only the required number of bits for PageId in span."}},{"before":"9cdf22c4db251e476ecf62f5f7ef6b9b92486e51","after":"4bf39a70bda39f28f18a9a9bc3fb39f9bbff3bd4","ref":"refs/heads/master","pushedAt":"2024-09-16T17:57:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Fix fast_path_diss_test.\n\nPiperOrigin-RevId: 675213394\nChange-Id: If88689cf1435746f0ef1e16991dcce91d1e8d423","shortMessageHtmlLink":"Fix fast_path_diss_test."}},{"before":"db924c598c591834602be1955233fa8200b3585e","after":"9cdf22c4db251e476ecf62f5f7ef6b9b92486e51","ref":"refs/heads/master","pushedAt":"2024-09-16T16:15:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"memory_errors_test: Better hide deliberate UB from compiler\n\nMore recent versions of Clang are able to figure out that in the deliberate\nbuffer-underflow test an underflow is happening, and turn that into code that\ndoes not crash with an access to GWP-ASan memory. For example by turning the\naccess into an access to 0xffffffffffffffff, which also crashes but not with\nthe expected error message.\n\nFix that by attempting to better hide the underflowing access from the\ncompiler.\n\nPiperOrigin-RevId: 675173241\nChange-Id: Ib43bd4f681799ffcd882ce93d6c4a32166270226","shortMessageHtmlLink":"memory_errors_test: Better hide deliberate UB from compiler"}},{"before":"c3e5297635827886688bd5fe04a18660ff3f0460","after":"db924c598c591834602be1955233fa8200b3585e","ref":"refs/heads/master","pushedAt":"2024-09-13T22:04:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Reduce bits used to record cache_size in span.\n\nWe need only 4 bits to record max cache size of 12.\n\nPiperOrigin-RevId: 674446647\nChange-Id: I81e0b6755cd6757616530798491b7ba099785530","shortMessageHtmlLink":"Reduce bits used to record cache_size in span."}},{"before":"c6ce0721e893fdaeed10a5962ad289437caa3377","after":"c3e5297635827886688bd5fe04a18660ff3f0460","ref":"refs/heads/master","pushedAt":"2024-09-13T21:54:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Internal change.\n\nPiperOrigin-RevId: 674443165\nChange-Id: I0f8d554561fd87caa7cf8d95ec1c27277d4bd788","shortMessageHtmlLink":"Internal change."}},{"before":"74116f1984e76ab4869f7c89c75191a76219cbd1","after":"c6ce0721e893fdaeed10a5962ad289437caa3377","ref":"refs/heads/master","pushedAt":"2024-09-13T21:32:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Provide a declaration of reallocarray, fixes #261.\n\nPiperOrigin-RevId: 674436234\nChange-Id: Ia2f24c2e4a700d8804dc4169df01cea15c40e03e","shortMessageHtmlLink":"Provide a declaration of reallocarray, fixes #261."}},{"before":"fdba799b994aa4ec58e44237d37064513a0f1f3d","after":"74116f1984e76ab4869f7c89c75191a76219cbd1","ref":"refs/heads/master","pushedAt":"2024-09-13T21:18:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Internal change.\n\nPiperOrigin-RevId: 674431311\nChange-Id: I082a584d80eee9a9fa732119f4d9784feb0bc4b3","shortMessageHtmlLink":"Internal change."}},{"before":"62d32db10de260294027bade440e852520ca458c","after":"fdba799b994aa4ec58e44237d37064513a0f1f3d","ref":"refs/heads/master","pushedAt":"2024-09-13T17:39:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Allow cold allocations for all sizes that are non intrusive in span.\n\nPiperOrigin-RevId: 674351850\nChange-Id: I0c09e40fbcf0111849523d12eb722ef8777c63a0","shortMessageHtmlLink":"Allow cold allocations for all sizes that are non intrusive in span."}},{"before":"2d35fee5fdf26833ae628f5c9f86f6274fd5fee5","after":"62d32db10de260294027bade440e852520ca458c","ref":"refs/heads/master","pushedAt":"2024-09-13T16:05:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Internal change.\n\nPiperOrigin-RevId: 674318382\nChange-Id: I5b8c2573ccceb957cb8709f732223dbc4b410240","shortMessageHtmlLink":"Internal change."}},{"before":"668306bbe5dcf919f333dda16c285a999ab97451","after":"2d35fee5fdf26833ae628f5c9f86f6274fd5fee5","ref":"refs/heads/master","pushedAt":"2024-09-12T00:01:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Add documentation URLs to generated profiles\n\nPiperOrigin-RevId: 673590954\nChange-Id: I31f24f70b5ff92d6173046134ed0eaca9ece0737","shortMessageHtmlLink":"Add documentation URLs to generated profiles"}},{"before":"48445851bfc7a1a08130170929a49980a1b35a2f","after":"668306bbe5dcf919f333dda16c285a999ab97451","ref":"refs/heads/master","pushedAt":"2024-09-11T21:15:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Update span_fuzz test.\n\nIn fuzz test, use a sufficiently large cache array that can accommodate span allocation time. This also adds a check that cache array size and actual in-use cache size are always in sync.\n\nPiperOrigin-RevId: 673531752\nChange-Id: I803d7189ebea0564b759375f98b43c0b0ab94c19","shortMessageHtmlLink":"Update span_fuzz test."}},{"before":"49346b581ce565babc539f3d20959dbb82c2c166","after":"48445851bfc7a1a08130170929a49980a1b35a2f","ref":"refs/heads/master","pushedAt":"2024-09-11T15:32:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"No public description\n\nPiperOrigin-RevId: 673403983\nChange-Id: Ibf807b0362b4a8154b0b85dda67e8e04d1993028","shortMessageHtmlLink":"No public description"}},{"before":"fed89367d49d15c856d0cf3eb5b976d9b7b66b2c","after":"49346b581ce565babc539f3d20959dbb82c2c166","ref":"refs/heads/master","pushedAt":"2024-09-11T15:30:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Remove a reference to a removed field\n\nThe reason why this test has been passing is because the regex is searching for\neither `tcmalloc_filler_chunks_per_alloc: 8` or `16`, and the buffer\nsufficiently often contains `16` that it continued mostly passing even once the\nfield was removed. When the output didn't contain `16`, we just considered the\ntest to be flaky.\n\nPiperOrigin-RevId: 673403378\nChange-Id: Ifa00ad2c7248b16dfb057c577b0a05c93e4a750b","shortMessageHtmlLink":"Remove a reference to a removed field"}},{"before":"4aad36c63e2bd0112c6e48fa5f4ea89ce7c8679b","after":"fed89367d49d15c856d0cf3eb5b976d9b7b66b2c","ref":"refs/heads/master","pushedAt":"2024-09-10T17:09:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Collect stats in central_freelist fuzz test.\n\nPiperOrigin-RevId: 673007712\nChange-Id: I6c576425e4f259144b711708515665c3674e3dce","shortMessageHtmlLink":"Collect stats in central_freelist fuzz test."}},{"before":"d266b2302f75dbf4fb9c8135299e4882a4f50dc4","after":"4aad36c63e2bd0112c6e48fa5f4ea89ce7c8679b","ref":"refs/heads/master","pushedAt":"2024-09-10T16:56:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Span lifetime telemetry.\n\nWe record lifetime of Spans that are alive in a histogram. Specifically, we log non-cumulative number of spans with lifetime < 1ms, < 10ms, < 100ms, < 1s, < 10s, < 100s, < 1000s and > 1000s.\n\nPiperOrigin-RevId: 673002782\nChange-Id: I6c03fe9e37fbc163c152e9e6168be4639b8ecc7c","shortMessageHtmlLink":"Span lifetime telemetry."}},{"before":"11763827de58f72282576c13348dcfe8d4dc7560","after":"d266b2302f75dbf4fb9c8135299e4882a4f50dc4","ref":"refs/heads/master","pushedAt":"2024-09-09T14:48:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Remove unique attribute from section.\n\nA non-zero constant initialized thread_local does not emit this with Clang\n(https://godbolt.org/z/PjddWeb57) and it is not understood by older assemblers.\nFixes #222.\n\nPiperOrigin-RevId: 672542340\nChange-Id: I7cd54a2252b1b5d8830ba574277c6ac8e4f1a626","shortMessageHtmlLink":"Remove unique attribute from section."}},{"before":"91f53c7725c8427083bb303fcca6d36691d54fe3","after":"11763827de58f72282576c13348dcfe8d4dc7560","ref":"refs/heads/master","pushedAt":"2024-09-04T21:58:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Reduce cache size in span from 12 to 8 when big span experiment is enabled.\n\nWhen TEST_ONLY_TCMALLOC_BIG_SPAN experiment is enabled, we increase span size from 48B to 64B. Additionally, we also increase cache size in span from 4 to 8. The additional 8B are reserved. When the experiment is disabled, kCacheSize is equal to 4, as before. We can increase cache size even further in the future to make use of 8B slack as the experiment completes, but this change also allows us to use additional bytes for storing other span metadata.\n\nPiperOrigin-RevId: 671110988\nChange-Id: I908ec006ca32b440a113cc60460967e0dab47ef6","shortMessageHtmlLink":"Reduce cache size in span from 12 to 8 when big span experiment is en…"}},{"before":"79fc97c186f8e06b58aeaeff3e51171af5bc91c8","after":"91f53c7725c8427083bb303fcca6d36691d54fe3","ref":"refs/heads/master","pushedAt":"2024-09-04T04:27:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"No public description\n\nPiperOrigin-RevId: 670815967\nChange-Id: If0fc4ff8c3c11d53184f3cca8983d032a6b20fcc","shortMessageHtmlLink":"No public description"}},{"before":"87f41a3186219d635b829f5c3f8d073589796915","after":"79fc97c186f8e06b58aeaeff3e51171af5bc91c8","ref":"refs/heads/master","pushedAt":"2024-09-03T20:19:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Performance improvement when computing CacheTopology.\n\nCurrently we read the \"shared_cpu_list\" sysfs file for each CPU in the system, and use it to compute its l3 cache mapping.\n\nUnfortunately these files are protected by a global kernel lock, which can introduce severe contention on large multicore servers when starting several binaries in parallel.\n\nTo reduce the number of file reads, we can parse the contents of the shared_cpu_list file into a CpuSet and update l3_cache_index_ for every CPU listed in there.\n\nPiperOrigin-RevId: 670680322\nChange-Id: Iea55c706f111d5eb9cce49d7d6ca2289f456b9b3","shortMessageHtmlLink":"Performance improvement when computing CacheTopology."}},{"before":"0bdea50df90a649f590bcd54ab64dee109f22411","after":"87f41a3186219d635b829f5c3f8d073589796915","ref":"refs/heads/master","pushedAt":"2024-09-03T04:54:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"No public description\n\nPiperOrigin-RevId: 670398983\nChange-Id: Ic6e667aeb413977c3cf0ce7d30ee480f9d80643c","shortMessageHtmlLink":"No public description"}},{"before":"bdc3db977cac884c6f4990581044425a2150a365","after":"0bdea50df90a649f590bcd54ab64dee109f22411","ref":"refs/heads/master","pushedAt":"2024-08-30T16:28:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Pick up changes from pprof's copy of profile.proto\n\nPiperOrigin-RevId: 669350670\nChange-Id: I8b37df0045f2261d5c1c962501f6a6b225378884","shortMessageHtmlLink":"Pick up changes from pprof's copy of profile.proto"}},{"before":"d9d73f613ca09577dfac4d73bcdfb78ed5ac6dd4","after":"bdc3db977cac884c6f4990581044425a2150a365","ref":"refs/heads/master","pushedAt":"2024-08-28T18:39:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Mark tests with noubsan tag.\n\nPiperOrigin-RevId: 668541150\nChange-Id: I46c9f07caddecaca8f4ac5d80c1c5f23a3808408","shortMessageHtmlLink":"Mark tests with noubsan tag."}},{"before":"cb7f6acb8c8737e8c26f4773fdcfb5016ee7c26c","after":"d9d73f613ca09577dfac4d73bcdfb78ed5ac6dd4","ref":"refs/heads/master","pushedAt":"2024-08-28T18:21:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Sync changes to profile.proto.\n\nPiperOrigin-RevId: 668533280\nChange-Id: I5716e9163305414a478c5a0a57e420f4d3455d52","shortMessageHtmlLink":"Sync changes to profile.proto."}},{"before":"883c38cdb04bda6918583282563d955e421db623","after":"cb7f6acb8c8737e8c26f4773fdcfb5016ee7c26c","ref":"refs/heads/master","pushedAt":"2024-08-27T16:11:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Update TCMalloc publication list.\n\nPiperOrigin-RevId: 668012234\nChange-Id: Ib1fbc042874146f85d57718a6841af614b699937","shortMessageHtmlLink":"Update TCMalloc publication list."}},{"before":"8369bafdfeb1f1677e86929cd0e34230d1f64610","after":"883c38cdb04bda6918583282563d955e421db623","ref":"refs/heads/master","pushedAt":"2024-08-26T20:51:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Use NumCPUsMaybe to gracefully handle missing /sys.\n\nWe use /sys to determine the number of CPUs we might see from restartable\nsequences. When this is not available, gracefully degrade rather than\ncheck-failing.\n\nFixes #245.\n\nPiperOrigin-RevId: 667702663\nChange-Id: Id78f557913f5936f7c4515dcbc2d445e162f68e3","shortMessageHtmlLink":"Use NumCPUsMaybe to gracefully handle missing /sys."}},{"before":"72c607e172dbe32c10669427a1289463b9c827d6","after":"8369bafdfeb1f1677e86929cd0e34230d1f64610","ref":"refs/heads/master","pushedAt":"2024-08-26T18:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"copybara-service[bot]","name":null,"path":"/apps/copybara-service","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/44061?s=80&v=4"},"commit":{"message":"Introduce NumCpusMaybe() method.\n\nThis returns std::nullopt when /sys cannot be read to determine the number of\nCPUs. In a subsequent change, we can check this first and turn off per-CPU\ncaches when we cannot accurately determine the maximum possible CPU ID we will\nsee. See issue #245.\n\nPiperOrigin-RevId: 667653028\nChange-Id: I70e8126cb71b82d94bcd7da90e15ee16b0b69a8a","shortMessageHtmlLink":"Introduce NumCpusMaybe() method."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEu0zvGQA","startCursor":null,"endCursor":null}},"title":"Activity · google/tcmalloc"}