New PACKAGERS_BUILD option for building Calligra

Boudewijn Rempt boud at valdyas.org
Tue Dec 4 08:24:21 GMT 2012


On Tuesday 04 December 2012 Dec, Dmitry Kazakov wrote:

> Cons:
> 1) Currently the code depends on Vc's 'staging' branch, so it can't be put
> in master. For now all the changes are kept in
> 'vector_compositioning_kazakov' branch.

Is there any estimated time of arrival for staging to get to Vc master? Ideally, we'd be able to push this to 2.6.1, too. Maybe we can ask Vir to create a special release for us? I think he likes to see Vc being used :-)

> 2) I used fat-binary approach for code generation. It means that all the
> versions of the code are put into a single binary (libpigmentcms.so) and
> therefore are loaded into user's RAM on the start. This is a matter of
> excessive 3 MiB of user's RAM (libpigmentcms.so grew 15MiB -> 18MiB [1])

Well, I'm not sure that that is actually what happens. Given an .so or .dll, stuff only get loaded when used. I wouldn't assume that everything gets loaded in one go.

> 3) If we want the binary to be redistributable, the compiler optimization
> for the rest of the code (not hotspots) must be disabled. In the benchmarks
> it leads to a slight (~20%) performance degradation on *some* of the tests.
> This is actually not much in comparison with the gain we get from using
> vector instructions, but still...

Do you have a list of these places? Maybe we can vectorize those too :-)


<...>

> Taking all this into account I decided to introduce a new option for the
> Calligra build system: PACKAGERS_BUILD.

Good plan.

> 
> When the option is ON, the per-architecture builds are activated. The
> optimization for all the other parts is disabled. This is exactly what is
> needed by packagers.
> When the option is OFF, the whole Calligra project is optimized for the
> host CPU. No per-arch build are, therefore, done. This option is the best
> choice for users who build Calligra themselves.
> 
> By default the option is OFF. It means that we need to tell packagers to
> activate it. Where should I write about it? Do we have any packager's
> manual?

There's a readme. packagers in the root dir, also, we need to mail kde-packager at kde.org.

> 
> I would appreciate any comments from you about this! :)
> 
\
I'm all for it!

-- 
Boudewijn Rempt
http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl



More information about the calligra-devel mailing list