Re: Linux c++ opmization--- linux runs at half the speed of windows?

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

 



Hi Shane,

I am wondering if you are using large memory support in linux (since you got 2GB)? I am asking, because on my system I experienced the following strange behavior:

Compiling a whole package, which is fairly big the compile time varies strongly between the setup of using large memory support and when not using it. As soon as I use large memory support the compile times grows by a factor between 2 and 3, I never did a profiling, what exactly causes the slow down, it just seems obvious that the large memory support causes a massive slowdown (certainly on memory access). I wonder if you are basically having the same problem. Maybe, after collecting some profiling data, you might come to the conclusion that memory access takes a lot of time, maybe you could check against a kernel without large memory support.

I might be completely wrong, but it came across my mind, since you got 2 GB of RAM and might have large memory support enabled.

Regards

-Sven


Shane R wrote:
Hi,

I hope this is the appropriate forum. Please direct me to the correct one if it is not.

I am trying to optimize a c++ application that I ported from a windows system to Linux. The app is a terminal based application that does some one time file io at the start then runs completely in memory. After the one time io the app runs successive timed epochs on the same data in Windows as Linux. The app is a program that runs some code for doing non-linear optmization (math stuff).

The reason why I am posting is that I timed the time it takes for the application to complete an epoch. It take twice as long in Linux as windows?!?!

My system is an Intel Centrino Duo with 2gigs of ram. The application is only using a fraction of available memory in windows and linux. The application is single-threaded in both.

I am using Visual Studio 2003 in Windows and when I type gcc -v I get:
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux