From 1b2c6e8f41ae7f9c3db1d0e2b8d457689d48baaa Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 30 Dec 2019 14:50:40 +0100 Subject: LibCore: Use JsonObject::get_ptr() in CProcessStatisticsReader This removes a bunch of JsonValue copying from the hot path in thread statistics fetching. Also pre-size the thread statistics vector since we know the final size up front. :^) --- Libraries/LibCore/CProcessStatisticsReader.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Libraries') diff --git a/Libraries/LibCore/CProcessStatisticsReader.cpp b/Libraries/LibCore/CProcessStatisticsReader.cpp index cfd8f0b40c..316a5e5a09 100644 --- a/Libraries/LibCore/CProcessStatisticsReader.cpp +++ b/Libraries/LibCore/CProcessStatisticsReader.cpp @@ -44,7 +44,8 @@ HashMap CProcessStatisticsReader::get_all() process.amount_purgeable_nonvolatile = process_object.get("amount_purgeable_nonvolatile").to_u32(); process.icon_id = process_object.get("icon_id").to_int(); - auto thread_array = process_object.get("threads").as_array(); + auto& thread_array = process_object.get_ptr("threads")->as_array(); + process.threads.ensure_capacity(thread_array.size()); thread_array.for_each([&](auto& value) { auto& thread_object = value.as_object(); CThreadStatistics thread; -- cgit v1.2.3