From 22% of cpu in hasTransientInternal to 0.2x%

Summary:
According to callgrind, checking kwin in release with debug symbols,
22% of cpu time in the method hasTransientInternal is spent doing
a cast to Client *, while at the begining of the method, the cast to
const Client * only uses 1.0x%.

Test Plan:
The workload was just show 50 messagebox copying small files and being
unable to change the permissions.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D9982
icc-effect-5.14.5
Jaime Torres 2018-01-22 20:15:01 +01:00
parent 1e09646791
commit 2c7b1cf762
1 changed files with 1 additions and 1 deletions

View File

@ -726,7 +726,7 @@ bool Client::hasTransientInternal(const Client* cl, bool indirect, ConstClientLi
for (auto it = transients().constBegin();
it != transients().constEnd();
++it) {
Client *c = dynamic_cast<Client *>(*it);
const Client *c = qobject_cast<const Client *>(*it);
if (!c) {
continue;
}