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!
Linking Time
Moderator: PPS-Leaders
Linking Time
- Attachments
-
- linkingtime.gif (6.7 KiB) Viewed 17562 times
Fabian 'x3n' Landau, Orxonox developer
Re: Linking Time
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
Nice work
"I'm Commander Shepard and this is my favorite forum on the internet."
Re: Linking Time
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
Re: Linking Time
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."
Re: Linking Time
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
Re: Linking Time
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."
Re: Linking Time
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.
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.
A webcomic of romance, sarcasm, math, and language.
Who is online
Users browsing this forum: No registered users and 1 guest