Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Average Compile Times
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
McManus
Apprentice
Apprentice


Joined: 10 Apr 2002
Posts: 176
Location: Austin, TX

PostPosted: Mon Nov 11, 2002 11:35 pm    Post subject: Average Compile Times Reply with quote

Out of curiosity, what kind of compile times are you all getting for some of the major packages? (and what kind of system, build flags, etc...)

Here's mine:

1.) boostrap: 82m42s
2.) system: 28m27s
3.) kernel: 9m38s
4.) KDE & X: 380m24s
5.) Gnome: 86m00s
6.) OOo: 318m37s

This was all done with Gentoo 1.4_rc1 on a dual 1900+ MP machine with 1 GB of RAM using the flags: -march=athlon-mp -mmmx -msse -m3dnow -O3 -pipe
_________________
McManus
----
Linux user #267375 - http://counter.li.org
Back to top
View user's profile Send private message
Lovechild
Advocate
Advocate


Joined: 17 May 2002
Posts: 2858
Location: Århus, Denmark

PostPosted: Mon Nov 11, 2002 11:43 pm    Post subject: Reply with quote

the LFS project does something very clever, they compile bash and then use that as a scale - like this normally takes about 13.5 BashCompileUnits (aka, this takes 13.5 times as long as bash did).

See this is nice and portable.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 17263

PostPosted: Tue Nov 12, 2002 12:05 am    Post subject: Reply with quote

Chat oriented. Moved from P&P.
_________________
The whole system has to go. The modern criminal justice system is incompatible with Neuroscience. --Sapolsky
Back to top
View user's profile Send private message
McManus
Apprentice
Apprentice


Joined: 10 Apr 2002
Posts: 176
Location: Austin, TX

PostPosted: Tue Nov 12, 2002 5:44 am    Post subject: Reply with quote

Lovechild wrote:
the LFS project does something very clever, they compile bash and then use that as a scale - like this normally takes about 13.5 BashCompileUnits (aka, this takes 13.5 times as long as bash did).

See this is nice and portable.


Interesting.. I think I will try that then, and compile bash and then I'll report everything as BashCompileUnits as well as static time =)

But really, I would like for everybody to just say how long it took for what package on what system they have, etc... so maybe we can start getting some rough estimates for specific packages (and bootstrapping / system builds)

So I guess include the time it takes for you to compile bash, as well (mine coming soon, when I get a chance... I'm out studying/procrastinating right now)

Also, does anyone know if they are going to (or is it even possible to) implement some sort of progress meter into Portage for compilations? I understand that since all systems vary vastly when it comes to compile times (such as diff. processor speeds, different architectures different flags, different versions of gcc, etc.), but maybe it could show progress by the number of files it has compiled or something? 'cuz the first time I emerged openoffice, I didn't expect for it to take almost 6 hours, and I had no idea of knowing how long it would take to finish :) So let me know, is this impossible (or impractical) to implement?
_________________
McManus
----
Linux user #267375 - http://counter.li.org
Back to top
View user's profile Send private message
carambola5
Apprentice
Apprentice


Joined: 10 Jul 2002
Posts: 214
Location: Madtown, WI

PostPosted: Tue Nov 12, 2002 6:11 am    Post subject: Reply with quote

OK, so this isn't exactly the best way to do it, but here's the general idea....
Before you point out the obvious flaw in this script, let me announce that I am aware of it, but don't quite know how to fix it... yet. Here's the flaw: instead of timing the download/compile time of a program, it can only time the download/compile time of the program plus all unresolved dependencies.
The script first downloads all source for the program as well as deps. It then compiles them.
Code:
#!/bin/sh
if [ -z $1 ]; then
  echo "Usage: temerge <portage-package>"
  exit 1
fi
DL='root/timings/downloads'
COMP='/root/timings/compiles'
echo "Download for: $1" >> $DL
STARTDL=`date +%s`
emerge -f $1
if [ $? -gt 0 ]; then
  echo "Error downloading $1 or one of its deps" >> $DL
  date >> $DL
  exit 1
fi
ENDDL=`date +%s`
echo "Download took $(($ENDDL - $STARTDL)) seconds." >> $DL
echo Date finished: `date` >> $DL

echo "Compilation for: $1" >> $COMP
STARTCOMP=`date +%s`
emerge $1
if [ $? -gt 0 ]; then
  echo "Error compiling $1 or one of its deps" >> $COMP
  date >> $COMP
  exit 1
fi
ENDCOMP=`date +%s`
echo "Compile took $(($ENDCOMP - $STARTCOMP)) seconds." >> $COMP
echo Date finished: `date` >> $COMP
exit 0

Any suggestions on improvement? (In case you missed it, I call the file /root/bin/temerge. Make sure the /root/timings folder is already created.)
_________________
Get Firefox!

Proper Web Development

I'm done at 999.
Back to top
View user's profile Send private message
guero61
l33t
l33t


Joined: 14 Oct 2002
Posts: 811
Location: Behind you

PostPosted: Tue Nov 12, 2002 7:29 am    Post subject: Reply with quote

This has been discussed to great extent; you may want to search on it. This is where we are so far:

https://bugs.gentoo.org/show_bug.cgi?id=10365
Back to top
View user's profile Send private message
McManus
Apprentice
Apprentice


Joined: 10 Apr 2002
Posts: 176
Location: Austin, TX

PostPosted: Tue Nov 12, 2002 8:20 pm    Post subject: Reply with quote

Er... why not just 'time emerge <packages>'? that's what I did, and I copied down the user time :) (you get the same effect, too, "bug" and all... time to compile package and all dependencies, which is what I meant, really....)
_________________
McManus
----
Linux user #267375 - http://counter.li.org
Back to top
View user's profile Send private message
carambola5
Apprentice
Apprentice


Joined: 10 Jul 2002
Posts: 214
Location: Madtown, WI

PostPosted: Tue Nov 12, 2002 9:00 pm    Post subject: Reply with quote

I'm at work, so this has to be kinda quick. A short modification to my script will remove the bug... somewhat.
Using the -o (--onlydeps) option to emerge--found on the man page-- you can install the deps to a program independently of the main package. Therefore, the download/compile times for the actual package may be determined. BUT, it only half-solves the problem. You can't get dl/compile times for the deps.

I'll modify the script when I have time (three tests in the next 36 hours). I realize "time" would kind of work, but it doesn't separate the download and compile times, two BIG variables. What if someone has a 486 with fast cable as opposed to a 2400+ XP with dial-up?
_________________
Get Firefox!

Proper Web Development

I'm done at 999.
Back to top
View user's profile Send private message
McManus
Apprentice
Apprentice


Joined: 10 Apr 2002
Posts: 176
Location: Austin, TX

PostPosted: Tue Nov 12, 2002 10:42 pm    Post subject: Reply with quote

carambola5 wrote:
I'm at work, so this has to be kinda quick. A short modification to my script will remove the bug... somewhat.
Using the -o (--onlydeps) option to emerge--found on the man page-- you can install the deps to a program independently of the main package. Therefore, the download/compile times for the actual package may be determined. BUT, it only half-solves the problem. You can't get dl/compile times for the deps.

I'll modify the script when I have time (three tests in the next 36 hours). I realize "time" would kind of work, but it doesn't separate the download and compile times, two BIG variables. What if someone has a 486 with fast cable as opposed to a 2400+ XP with dial-up?


Good point... I was thinking about that yesterday, but I seemed to have forgotten about it :)
_________________
McManus
----
Linux user #267375 - http://counter.li.org
Back to top
View user's profile Send private message
guero61
l33t
l33t


Joined: 14 Oct 2002
Posts: 811
Location: Behind you

PostPosted: Tue Nov 12, 2002 10:44 pm    Post subject: Reply with quote

I understand your approach, I'm just trying to reach a more generalized, complete solution. For your own means, standard timing will work great. However, if we can get it to work for all of gentoo, it'll make it that much more useable.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum