This Week...
Kicker rewrite merged into HEAD for further testing. New Kontact summary plugin for dates and holidays. kttsd adds support for Festival 2.0 MultiSyn voices. KDevelop has a new Ruby source code debugger.
We have seen many optimizations in Kde over the last couple of years. Many of these optimizations affect specific parts of Kde such as the icon lists, or screen rendering. While this tightening of the codebase is going on, optimizations are happening on a different level. Compiler and linker improvements are being made, especially with regard to the particular requirements of C++ code generation.
Dirk Mueller applied patches to most source files with a comment referring to KDE_EXPORT, culminating in this commit:
make symbols hidden by default if the compiler supports it. This reduces DSO lib size by about 2% and symbol relocations by about 5%.
If you look at the diff, you see '-fvisibility' is added as a compiler parameter. Along with the change in the acinclude.m4.in file, there were extensive changes throughout the codebase. An example is from kdelibs/interfaces/kmediaplayer/player.h, with the commit log referring to adding exports. Here is the diff.
So what is this all about? Back in July in the kde-optimize list, Karl Vogel commented that he had tested the -fvisibility parameter and had prepared a patch. Here is the comment:
Right.. I now have a complete KDELIBS / KDEBASE running build with gcc+visibility patch and default visibility set to hidden. This means that nothing is exported in shared libs by default. I'm now wondering if this *huge* patch will stand any chance of being applied (before doing too much extra work on it) ?! And no I don't mean for 3.3 :-) The patch won't have any adverse effects as far as I can think off, since it can completely be disabled by defining KDE_EXPORT as empty.
Here's what it takes to make KDE work with hidden default:
Here's what it takes to make KDE work with hidden default:
- am_edit / unsermake needs a patch to export kdeinitmain generated stubs
- kdelibs/dcop/dcopidl2cpp patch to handle LINK_SCOPE tag (which is already present in .kidl files)
- giant patch to place KDE_EXPORT on all classes that need exporting and on files which have kdeinit/kdeinitmain, KCModule functions, kss_ screensaver functions, ...
For a little more background, Karl Vogel writes:
While playing with this symbol stuff.. I noticed that other libs were also exporting way more than needed.
For instance... libkateinterfaces has exports for all the private methods & private slots of all the classes it implements.
I was able to reduce the symbols by manually adding an attribute to the private parts (source parts.. not the other kind :-) ... ie.
#define HIDE __attribute__((visibility ("hidden"))
and then...
private:
void methodX() HIDE;
This worked.. but it seemed strange that there was no better way to do this.. so I put the question to gcc-devel:
http://thread.gmane.org/gmane.comp.gcc.devel/51574
Esp. the answer of Giovanni Bajo was interesting, pointing me to this webpage:
GCC Symbol Visibility Patch
http://www.nedprod.com/programs/gccvisibility.html
Reading through the gcc PR issues.. I noticed a familiar name.. so guess some KDE developers are already onto this.
Has the dllexport/dlllocal macro as shown on the gcc visibility patch page been considered yet?! (ie. for KDE4 coding style)
For instance... libkateinterfaces has exports for all the private methods & private slots of all the classes it implements.
I was able to reduce the symbols by manually adding an attribute to the private parts (source parts.. not the other kind :-) ... ie.
#define HIDE __attribute__((visibility ("hidden"))
and then...
private:
void methodX() HIDE;
This worked.. but it seemed strange that there was no better way to do this.. so I put the question to gcc-devel:
http://thread.gmane.org/gmane.comp.gcc.devel/51574
Esp. the answer of Giovanni Bajo was interesting, pointing me to this webpage:
GCC Symbol Visibility Patch
http://www.nedprod.com/programs/gccvisibility.html
Reading through the gcc PR issues.. I noticed a familiar name.. so guess some KDE developers are already onto this.
Has the dllexport/dlllocal macro as shown on the gcc visibility patch page been considered yet?! (ie. for KDE4 coding style)
I'd like to remind anyone that next weekend KDE 3.3.2 will be tagged and prepared for release. Please use the remaining time to review your applications/translations and if you know of any missing piece on kde.org/announcements/changelogs/changelog3_3_1to3_3_2.php (there should be many), please either add it yourself or let me know.
As I didn't get additional feedback on the KDE 3.4 release schedule, I would like to use this mail to declare it active. The 3.4 feature list closes for additions next week, so we can release an alpha1 in early december.
BTW: I can't answer mails on weekends as long as I have no internet at home, which still might take a while. But I will answer, so don't worry.
As I didn't get additional feedback on the KDE 3.4 release schedule, I would like to use this mail to declare it active. The 3.4 feature list closes for additions next week, so we can release an alpha1 in early december.
BTW: I can't answer mails on weekends as long as I have no internet at home, which still might take a while. But I will answer, so don't worry.
Statistics
Commits | 2275 by 191 developers, 271620 lines modified, 608 new files |
Open Bugs | 7829 |
Open Wishes | 7223 |
Bugs Opened | 324 in the last 7 days |
Bugs Closed | 381 in the last 7 days |
Commit Summary
Module | Commits |
kde-i18n |
656
|
kdelibs |
196
|
kdepim |
187
|
koffice |
155
|
kdeextragear-2 |
151
|
kdebase |
118
|
kdeextragear-1 |
109
|
valgrind |
100
|
kdeextragear-3 |
87
|
kdenonbeta |
83
|
Lines | Developer | Commits |
678
|
Dirk Mueller |
99
|
12202
|
Nicholas Nethercote |
82
|
11540
|
Stefan Asserhäll |
79
|
1918
|
George Staikos |
72
|
3018
|
David Faure |
66
|
1838
|
Laurent Montel |
65
|
6293
|
Marek Laane |
65
|
4805
|
Pedro Morais |
63
|
2922
|
Alexander Dymo |
54
|
20314
|
Rinse de Vries |
49
|
Internationalization (i18n) Status
Language | Percentage Complete |
British English (en_GB) |
99.22%
|
Swedish (sv) |
99.11%
|
Estonian (et) |
96.61%
|
Portuguese (pt) |
95.82%
|
French (fr) |
93.99%
|
Danish (da) |
93.34%
|
Dutch (nl) |
90.85%
|
Spanish (es) |
90.71%
|
Italian (it) |
89.28%
|
Serbian (sr) |
88.67%
|
Bug Killers
Person | Bugs Closed |
Maks Orlovich |
54
|
Aaron J. Seigo |
49
|
Reinhold Kainhofer |
34
|
Stephan Kulow |
28
|
Luboš Luňák |
22
|
Waldo Bastian |
21
|
Renchi Raju |
17
|
Tom Albers |
16
|
Andras Mantia |
14
|
Heiko Falk |
14
|
No commits found