KDevelop PHP Performance Improvements

After moving my blog this is now the first post aggregated on planetkde.

It has been quite some time since my last contributions to KDevelop - I got motivated by working colleges who where starting to use other IDEs (phpStorm, eclipse) as they got annoyed by various bugs in KDevelop.

One big thing is performance - when working on larger projects during initial parsing things get laggy and slow. (eg. when opening code completion)
Our use case is koala framework + zend framework which consist of about 6500 php files.

Profiling showed that the main problem is the large number of included file - but luckily the DUChain already has an option to cache that - which I basically just activated.

Benchmarks

Ok, all fine - but what about actual numbers?

This graph shows time needed (in seconds) for initial parsing of ~6500 files. (lower is better)

This graph shows time needed (in seconds) for checking up to date of ~6500 files. (lower is better)

(Time is measured using duchainify, a small cli helper tool for kdevelop for testing parsing)

You'll see that for this use case this cache really brings a large performance boost!

This entry was posted in KDE, KDevelop by Niko Sams

Github Activity

nsams starred symfony/symfony

Mar 24, 2017

nsams starred twigphp/Twig

Mar 24, 2017

nsams commented on issue koala-framework/koala-framework#520

Mar 24, 2017
@nsams

setTargetLanguage doesn't exist anymore but you can use Kwf_Trl::getInstance()->trl('Что-то', array(), 'en') instead

nsams commented on issue koala-framework/koala-framework#599

Mar 24, 2017
@nsams

The checked state of a checkbox is like the value of a textfield. It is loaded from the row the AutoForm is editing. When you create a new entry, t…

nsams opened pull request koala-framework/koala-framework#600

Mar 23, 2017
@nsams
PostRenderCutter: Don't comment out mask hide HTML
1 commit with 18 additions and 8 deletions