kdevelop Syndicate content

» KDevelop 4.7.1 Released

Thu, 02/05/2015 - 18:50

Hello all!

it’s my pleasure to announce the immediate availability of KDevelop 4.7.1. This release contains many improvements and bug fixes - everyone is urged to upgrade. Distributions should already provide updated packages, otherwise you can download via:

Thanks to all contributors, users and bug reporters for making this release possible!

» KDevelop 4.7.0 Released

Sat, 09/13/2014 - 20:50

Hello all!

It’s my pleasure to finally announce the availability of KDevelop 4.7.0:

https://www.kdevelop.org/news/kdevelop-470-released

This is a special release, as it marks the end of the KDE 4 era for us in terms of feature development. We will continue to support this release in the long-term with bug fixes though. New things and fundamental changes will only happen in the frameworkified master branches from now an.

Many thanks to all contributors!

Cheers

» KDevelop master is now frameworkified

Thu, 08/28/2014 - 01:25

Hello all!

Kevin just announced it on the mailing list, the CI is still shaking it’s head, and we are all very curious about the coming weeks: KDevelop’s master branches are now depending on KF5!

For more information, see: https://www.kdevelop.org/frameworks/kdevelop-master-now-depends-kde-fram…

Cheers, happy hacking and hope to see some more patches :)

» KDevelop 4.7.0 Beta 1 Released

Fri, 07/04/2014 - 10:54

Hey all,

just a quick announcement: KDevelop 4.7.0 Beta 1 was released! Head over to the announcement on the KDevelop website to read more:

https://www.kdevelop.org/news/kdevelop-471-beta1-released

Cheers, see you soon with a KDevelop 4.7.0 stable release :)

» Kate/KDevelop Sprint 2014: Let There Be Clang

Mon, 02/03/2014 - 23:58

Time flies… The extremely productive hack sprint at the friendly Blue Systems office in Barcelona is over for more than a week. I haven’t had time to blog about the last days yet which I hereby make good for!

I spent a lot of time at the sprint polishing the KDevelop Clang plugin. A up-to-now semi-secretly developed language plugin based on clang which will replace our current C++ language support in KDevelop in the long-run.

» Kate/KDevelop Sprint 2014: First Days

Tue, 01/21/2014 - 19:24

Hey all! Greetings from the joint Kate/KDevelop sprint at the Blue Systems office in Barcelona!

I only arrived yesterday but already I have great news for you: After months of work I finally merged the sharedurls branches into master for KDevelop/KDevplatform etc. pp. There I worked on a optimization in our handling of file paths.

The status quo up until know was the following: When importing a folder as a project in KDevelop, we filled a model with every file and folder in the project (recursively). For every item we also stored its path as a KUrl to the potentially remote location. KUrl and QUrl are awesome when you have to work with paths and urls, but as soon as you store potentially thousands of them at the same time it becomes quite inefficient. Assume e.g. you open /foo/bar/blub/ which contains /foo/bar/blub/bla.h. When you use KUrl/QUrl to store these paths, you cannot share any memory between the two, as internally basically a QString is used. Thus, when you import deep folder trees or folders with many files, you’ll waste a lot of memory for common sub-paths. Furthermore, due to the amount of allocations required, reading the tree is pretty slow.

So in the sharedurls branch I worked on a internal replacement for KUrl in KDevelop: It’s called KDevelop::Path and is a glorified QVector<QString> with convenience API to simulate a KUrl and simplify porting. Every entry in the vector contains a path segment. It leverages QStrings implicit sharing to minimize the memory overhead. Furthermore, when you parse a tree structure recursively, all you do is copying vectors and appending strings to them - which is rather cheap as a QString is a small handle structure.

So all in all this should greatly improve the performance of opening projects in KDevelop. Especially for large sessions containing thousands of files (eg.: Qt 4, multiple Qt 5 modules, LibreOffice, Kernel, WebKit, …) the new code is much faster and consumes less memory. I’ve seen time savings in the order of multiple seconds in total as well as memory consumption going down in the order of 100MB.

While this sounds like a fairy-tale, I have to admit that it was/is a lot of work: By using a custom class, you have to convert to KUrl/QUrl or QString quite often when interacting with existing API. This of course is costly and potentially marginalizes or even pessimises the potential performance gains. Hence one needs to pay special attention and port code such that it minimizes these conversions. As such I can only recommend anyone doing something like that when you have similar extreme usecase. For a normal file browser or web browser I doubt the you’ll gain much if anything.

So please compile the current master branches and take a look for yourself. My tests and benchmarks look all good, yet I might have overlooked something. If you spot any regressions, please shout!

Now that this is mostly done and polished, I’ll continue working on Clang integration in KDevelop. Stay tuned for the next blog entry about that topic :) And already a huge thank you to Aleix Pol for organizing this sprint, to Blue Systems for having us, and to the KDE e.V. for sponsoring the trip and accommodation!

» KDevelop 4.6.0 released!

Mon, 12/09/2013 - 20:30

Holy moly yet another KDevelop release - but this time a big one! Go and get 4.6.0 while it’s fresh and read the full announcement on the KDevelop website:

http://kdevelop.org/46/kdevelop-460-final-released

» Apps on Speed

Tue, 11/19/2013 - 17:07

Hey all,

since some people asked me: The slides to my extended Apps on Speed talk from this year’s Qt DevDays Berlin are available for download. If you are interested, get them here: http://devdays.kdab.com/wp-content/uploads/2013/11/qt-dd-2013-apps-on-sp…

I hope you liked that talk. I certainly had fun presenting it and discussing the contents with various attendees later on. I have now quite some ideas on how to extend the talk even further.

The slides of the other presentations are also available. Stay tuned for the video recordings of DevDays Berlin, I’m sure they will be accessible soonish :)

Edit: The video is now available! Enjoy http://www.youtube.com/watch?v=C5EPt50Kgmc

» KDevelop 4.6 Beta 1 Available

Mon, 11/11/2013 - 17:16

Hey all,

I just announced KDevelop 4.6 Beta 1 on the KDevelop website. Go read the announcement and test the hell out of this release :) I’m pretty confident that its already a very solid release though!

Cheers, happy hacking!

» KDevelop 4.5.2 available!

Thu, 10/31/2013 - 16:04

Hey all,

KDevelop 4.5.2 is finally released! Go see the announcement on our website for more info: http://kdevelop.org/45/kdevelop-452-available

Note that this release contains some serious crash fixes, so update asap, i.e. as soon as your packagers get to it :)

Enjoy and thanks to all contributors! Looking forward to KDevelop 4.6 already!