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 merged a pull request in koala-framework/koala-framework

@nsams
nsams merged a pull request in koala-framework/koala-framework
Nov 20, 2017
deny access to welcome controller to normal users by default #638

Deny welcome contro lelr to normal users per default

+1 -0
1 comment

nsams pushed to 5.0 in koala-framework/koala-framework

@nsams
nsams pushed to 5.0 in koala-framework/koala-framework
Nov 20, 2017

nsams deleted branch symfony-kernel-getinstance at nsams/koala-framework

@nsams
nsams deleted branch symfony-kernel-getinstance at nsams/koala-framework
Nov 20, 2017

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

@nsams
nsams pushed to 4.5 in koala-framework/koala-framework
Nov 20, 2017

nsams opened a pull request in koala-framework/koala-framework

@nsams
nsams opened a pull request in koala-framework/koala-framework
Nov 9, 2017
Add getInstance method for symfony kernel #640

this allows us using symfony services everywhere.

+14 -1