[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] A little upgrade

Hey guys,

Frank asked me to post this publicly so here it is.  I have a lot of cpu
cycles to burn from 3 high powered aranym pc's as well as my ct60
running at nearly 100MHz.  I like speed, I run gentoo on all my linux
systems and I use bleeding edge stuff.  As such, I'm in the camp that
believes that upgrading to gcc 3.3.3 for sparemint and compiling all
packages with as high optimizations as they will accept is the way to
go.  As such there are going to be 3 distributions in the future.  I am
working on tools to completely automate this process!  I'm also working
on tools that will take care of this shared lib problem.

People say that the speed difference of gcc 3.3.3 binaries and heavy
optimizations doesn't matter.  Well I say many of us have a lot more ram
than speed so this matters a lot!  Unrolling loops where applicable, and
using -O3 will create some serious performance gains.  A properly
compiled lame encoder can encode a 128kbit cbr mp3 in I believe the
figure was something like 6 minutes on my system.  A standard issue gcc
2.95.3 compiled lame encoder for all chips does it in around 20
minutes.  Not worth it?

For instance.  We will completely redo the dep tree to be true and
proper.  For instance if a new mintlib is released and built, all
dependent srpms will be rebuild and release counter incremented
automatically!  This is not hard!  And certainly a better solution with
less code than implementing shared libs.  Shared libs sounds like
something that's a true pain and will take someone with extreme time and
dedication to implement.  That person is not me unfortunately.  I'm not
going to muck up the mint kernel with poor ideas, poor ideals even if I
do have a lot of time.

So the plan is:

Upgrade rpm to latest 4.x, still in the porting process - stuck on
beecrypt.  Some assembler things need solved.

Port apt-rpm.

Branch sparemint and create a gcc 3.3.3 heavy opt sparemint repository. 
Once a basic system is installed a small utility can be distributed to
bootstrap a gcc 3.3.3 system from scratch via apt-rpm.  My guess is the
use of rpm --force would be involved heavily ;-)

These utilities that I am writing will likely be written in plain C, or
*possibly* python with code stolen from the gentoo project.

Anyway, the goal of course is to *automate* as many things as possible! 
If frank decides to submit a new mintlib, who wants to trudge through
rebuilding EVERY SINGLE PACKAGE by hand!?  Nobody!  But in theory, every
package should be able to be rebuilt by rpm -ba package.spec, so why not
attempt to automate it and simply fail out when one package doesn't
work.  At least then when you come back to the computer 10, 20, or 30
packages have rebuilt instead of only 1!  Eventually our spec files will
become so good that manual intervention will become less and less
necessary.  Sparemint will essentially become self-maintaining.  With or
without VM and shared libs.

As for bandwidth.  I've got it.. Time to use it ;-)  Hopefully some
other people have their Atari's hooked up to broadband ;-)