Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 13963 ideas, 66846 comments, 1291785 votes

Idea #11100: Allow compiling CPU-optimized-version (apt-build) of packages in Synaptic



up
70
down
Written by diegoj the 13 Jul 08 at 21:26. Category: Others.
Related to: Synaptic package manager. Status: New
Description
Integrate apt-build in the package manager as a option, so the user can choose if download a package compiled for x86 or compile a optimized-version to his/her PC (for example, Core 2 Duo, AMD64, etc).

Use case:
- Tom wants to install a dvd ripper and his computer is a Core 2 Duo. Tom knows that the software is always compiler for 686 machines that don't use many of the 'hacks' (SSE extensions, SSE2, etc.) of the new processors.
- Tom choose the dvd ripper software (acidRip, for example).
- Tom selects in Synaptic: "compile optimized-version for this machine".
- The package manager downloads the source and compiles an agressive-optimized-version of this package. At the end, it installs the software.

Of course, instead of using apt-build (wich I see It's the easiest way), it can be a something like has Gentoo Linux in its Portage Package Manager (http://en.wikipedia.org/wiki/Portage_(software)).

Attachments
No attachments.


Duplicates


Comments
diegoj wrote on the 13 Jul 08 at 21:27
Moderators/Administrators: If the title is confusing, feel free to change it. :)

Vadim P. wrote on the 13 Jul 08 at 21:31
This would take so much time and a framework for this doesn't exist. I think if you're worried about cpu optimizations, gentoo is probably better for you to begin with.

Do you have benchmarks of cpu-optimized versions for the same architecture but different cpu's?

gmatht wrote on the 14 Jul 08 at 02:08
I think this is already possible with apt-pinning. The gains are usually not dramatic. AFAICT The main problem is finding people to maintain the -686 etc repos. Another problem is that this would increase the amount of stuff that needs to be mirrored.

Auzy wrote on the 14 Jul 08 at 02:19
Shouldn't stuff in the repos probably be compiled with -mcpu=686 and some higher cpu's anyway? That way it works on both.

I vote +0. It makes more sense to just use gentoo..

s3t_sk8 wrote on the 14 Jul 08 at 03:10
Don't you guys know how apt-build works?
It compiles the source, and the source can already be downloaded from Ubuntu's repositories!

+1
because gentoo is not for me =\

droetker wrote on the 14 Jul 08 at 06:05
For sure - the framework doesn't exist?
what is "apt-get source " then for?
and the whole dpkg-buildpackage thingy?

It would be a GREAT IDEA to integrate it's functionality into synaptic/adept.

gmatht wrote on the 14 Jul 08 at 11:52
Sorry. I misread this idea. Two comments:

1) To promote this idea, giving benchmarks showing how much help the mtune/mcpu flags actually helps. Existing benchmarks suggest: "not much", although you may be able to find cases where they do help. See e.g:
https://wiki.ubuntu.com/ubuntu-i686

1) I had a similar idea, but where instead of just changing the CFLAGs, it was focused on making it easy to make any change to the software, e.g. apply patches. See:
https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2008-June/004441.html


Mishtal wrote on the 14 Jul 08 at 16:19
I have seen other people use gentoo before, and i like the idea of it, but it seems like too much hassle for me to make it worth the switch.
apt-get already has the ability to download the source for a package along with the package itself. I would be absolutely willing to sacrifice a few clock cycles when im not otherwise using my system to custom build packages specifically for my architecture and hardware. I am a very habitual power user, and i notice that a lot of the time lack of optimizations in the programs that i run cause minor slowdowns that are not even noticeable by themselves, but tend to add up a LOT. It would be even more amazing if it were possible to have aptitude go through and build with optimizations from source packages that i already have installed and use regularly. but i think that thats a bit much to ask.

im all for this one. +1

hspaans wrote on the 20 Jul 08 at 18:09
To do a good correct implementation we would need something like 'isaexec' on Sun Solaris. This would require the complete Linux world and beyond to make modifications. On package then could deliver CPU-optimized code, but also do a easy switch between 32 and 64 bit. But the footprint of packages would increase when you're not careful.

Vadim P. wrote on the 21 Jul 08 at 18:31
So I think it's "not worth the trouble" for a mainstream OS to be doing this.

bademeister wrote on the 27 Jul 08 at 19:42
I agree with Vadim P. The idea is very nice, but I think other things are way more important. If apt-build can do this, can't users who want to really optimize their system use apt-build?


Post your comment