mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-04 13:30:31 +00:00
Profiler: Don't iterate all events when filtering timeline view
There is no need to iterate through all events in a profile when loading the timeline view, as soon as we see one event we can move on to the next process.
This commit is contained in:
parent
7463cbdbdb
commit
e3ee539fea
Notes:
sideshowbarker
2024-07-18 18:36:37 +09:00
Author: https://github.com/bgianfo Commit: https://github.com/SerenityOS/serenity/commit/e3ee539fea7 Pull-request: https://github.com/SerenityOS/serenity/pull/6909
1 changed files with 6 additions and 4 deletions
|
@ -98,12 +98,14 @@ int main(int argc, char** argv)
|
|||
|
||||
auto timeline_view = TimelineView::construct();
|
||||
for (auto& process : profile->processes()) {
|
||||
size_t event_count = 0;
|
||||
bool matching_event_found = false;
|
||||
for (auto& event : profile->events()) {
|
||||
if (event.pid == process.pid && process.valid_at(event.timestamp))
|
||||
++event_count;
|
||||
if (event.pid == process.pid && process.valid_at(event.timestamp)) {
|
||||
matching_event_found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!event_count)
|
||||
if (!matching_event_found)
|
||||
continue;
|
||||
auto& timeline_header = timeline_header_container->add<TimelineHeader>(*profile, process);
|
||||
timeline_header.set_shrink_to_fit(true);
|
||||
|
|
Loading…
Reference in a new issue