LibDebug: Pre-allocate capacity for the LineProgram::LineInfo vector

This shaves another ~15% off of "bt 12" on my machine :^)
This commit is contained in:
Andreas Kling 2021-05-23 23:17:26 +02:00
parent 0bf3df28b9
commit 4f4cde2379
Notes: sideshowbarker 2024-07-18 17:29:32 +09:00

View File

@ -103,6 +103,8 @@ void DebugInfo::prepare_lines()
return file_path;
};
m_sorted_lines.ensure_capacity(all_lines.size());
for (auto const& line_info : all_lines) {
auto it = memoized_full_paths.find(line_info.file);
if (it == memoized_full_paths.end()) {
@ -111,8 +113,9 @@ void DebugInfo::prepare_lines()
}
if (!it->value.has_value())
continue;
m_sorted_lines.append({ line_info.address, it->value.value(), line_info.line });
m_sorted_lines.unchecked_append({ line_info.address, it->value.value(), line_info.line });
}
quick_sort(m_sorted_lines, [](auto& a, auto& b) {
return a.address < b.address;
});