Linking Time

Topics about the general development of Orxonox.

Moderator: PPS-Leaders

Post Reply
User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Linking Time

Post by x3n » Sun Aug 30, 2009 1:36 am

I just wanted to celebrate with you the fact that after more than half a year I managed to fix the enormous linking time on tardis. I compiled about 20 different revisions of Orxonox on a Tardis box and measured the linking time, to isolate suspicious revisions. With additional help of Reto I followed the revision-path back through the trunk, buildsystem3, buildsystem2 and buildsystem, where I supposed the error to be between revisions 1886 and 1999... unfortunately all revisions in between don't compile on tardis. However with some luck I came across two lines, which implicitly changed the required version of gcc from 4.1.1 to 4.1.2 - and for some reason, 4.1.2 just doesn't run very well on tardis. Now I've changed the version back to 4.1.1 and the linking time decreased by a factor greater than 10!

I've attached a plot of the linking time in seconds over the revision numbers. At revision 2710, buildsystem3 was merged. During the spring semester, the amount of files and thus the linking time increased even more. The last few revisions are "faked" because we jumped from revision 3xxx to 6xxx, but you see a first decrease of the time because of the separation into modules (I've merged the libraries branch today) and then a big leap down to about 12 seconds. All times were measured while linking the orxonox library only (not on scratch by the way).

I guess you'll like this news, because the linking time sometimes ruined the workflow in the last PPS semester. But now it will be fun again!
Attachments
linkingtime.gif
linkingtime.gif (6.7 KiB) Viewed 2895 times
Fabian 'x3n' Landau, Orxonox developer

User avatar
beni
Baron Vladimir Harkonnen
Posts: 949
Joined: Tue Oct 03, 2006 9:15 am
Location: Zurich
Contact:

Re: Linking Time

Post by beni » Sun Aug 30, 2009 1:13 pm

Wow, that's amazing. Strange we didn't notice that the increased linking time was so sudden. I mean, 80 seconds from one revision to the other is quite noticeable.

Nice work
"I'm Commander Shepard and this is my favorite forum on the internet."

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Linking Time

Post by x3n » Sun Aug 30, 2009 2:08 pm

I guess that's because the buildsystem3 branch was merged after the presentation in fall 08, in the semester break. And because the problem occurs only on tardis, the first time we noticed this was when the students in the spring-09-PPS started coding.
Fabian 'x3n' Landau, Orxonox developer

User avatar
beni
Baron Vladimir Harkonnen
Posts: 949
Joined: Tue Oct 03, 2006 9:15 am
Location: Zurich
Contact:

Re: Linking Time

Post by beni » Sun Aug 30, 2009 3:54 pm

I guess that explains it. What about that version of GCC anyway? The problem we had with it are strange. Maybe we should inform ISG about it since we experienced those problems only on tardis.
"I'm Commander Shepard and this is my favorite forum on the internet."

User avatar
x3n
Baron Vladimir Harkonnen
Posts: 810
Joined: Mon Oct 30, 2006 5:40 pm
Contact:

Re: Linking Time

Post by x3n » Sun Aug 30, 2009 4:16 pm

Maybe it's just a bad combination of compiler and linker on tardis... and btw, we can't use more recent versions of gcc (4.2, 4.3, 4.4) atm, because the version of openAL on tardis doesn't work with them.
Fabian 'x3n' Landau, Orxonox developer

User avatar
beni
Baron Vladimir Harkonnen
Posts: 949
Joined: Tue Oct 03, 2006 9:15 am
Location: Zurich
Contact:

Re: Linking Time

Post by beni » Sun Aug 30, 2009 4:46 pm

Looks like we gotta inform ISG of some more problems as well.
"I'm Commander Shepard and this is my favorite forum on the internet."

User avatar
1337
Baron Vladimir Harkonnen
Posts: 521
Joined: Wed Oct 10, 2007 7:59 am

Re: Linking Time

Post by 1337 » Sun Sep 20, 2009 7:20 pm

It is in fact a known problem. And I do wonder why they never released a 4.1.3 version.
They messed up an algorithm that went from O(N) to O(N^2) as far as I know. Because small projects don't have 10 times the link time.
http://www.xkcd.com/
A webcomic of romance, sarcasm, math, and language.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests