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 pushed to master at koala-framework/kwf-upgrade

Oct 20, 2017
@nsams
  • @nsams a0dd8e2
    Improve upgrade script to add KWF_BASE_URL in js files

nsams pushed to 4.5 at koala-framework/koala-framework

Oct 20, 2017
@nsams
  • @nsams 27d1294
    Don't silence errors from mkdir to get a clearer exception when eg. p…

nsams pushed to 4.5 at koala-framework/koala-framework

Oct 19, 2017
@nsams

nsams merged pull request koala-framework/koala-framework#637

Oct 19, 2017
@nsams
throw exception in edit_user_form when no user is logged in
1 commit with 3 additions and 2 deletions

nsams pushed to 4.5 at koala-framework/koala-framework

Oct 19, 2017
@nsams