Re: octave compiled under Cygwin and your octave-2.1.50a]

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: octave compiled under Cygwin and your octave-2.1.50a]

Paul Thomas-10
Herewith a message forwarded from Ben Diedrich, who rebuilt octave using
an older version of gcc and regained a factor of two in speed (still
another factor ~3 to go!)

There is definitely something not right with the gcc 3.3.1/mingw
supplied with current versions of Cygwin:

Paul T

 From Ben:

I have another interesting result. I used '' as my download
server for the Cygwin's setup.exe. This site has a binary version of GCC 3.2.
G77, G++, and all other components are still version 3.3. I was able to select
GCC 3.2 from the list of packages. I installed it and configured, compiled, and
installed Octave 2.1.50 from source. I've attached my test script and a text
file summarizing the tests and results. I saw a nearly 2X improvement in speed
over the version I compiled with GCC 3.3.1. However, the speed is still 3-4X
slower than the pre-compiled version from octave-forge.

One thing I haven't done is get octave to use stdc++.dll. I've made this library and placed it in the path (/usr/local/bin & /usr/bin) but I don't know how to force Octave to use it. (He has subsequently done this, with little or no effect - PT)


Run time results for three versions of Octave 2.1.5X. Tests provided by Paul

Pre-compiled is "octave-2.1.50a-inst.exe" from

Self-compiled versions (2.1.50 & 53) were compiled on a Cygwin 1.5.7-1 system
with gcc 3.3.1-3 and gcc 3.2-3 and ATLAS BLAS 3.6.0. Configuration options
used were "--enable-shared --disable-static"

The test system is a 2.4 GHz P4 running Windows 2000.

Test Strings
1. tic;z=1;x=[1:1e5];tot=0;for i=1:1e5;;end;toc
2. tic;z=1;x=[1:1e5];tot;  for i=1:1e5;tot;end;toc
3. tic;z=1;x=[1:1e5];tot=z;for i=1:1e5;tot=z;end;toc
4. tic;z=1;x=[1:1e5];tot=0;for i=1:1e5;tot=x(i);end;toc
5. tic;z=1;x=[1:1e5];tot=0;for i=1:1e5;tot=sin(z);end;toc

Test         Pre-compiled        Self-compiled
      Octave 2.1.50        2.1.50   2.1.53   2.1.50
      GCC    3.2           3.3.1    3.3.1    3.2
----         --------      -------  -------  -------
1            0.066000      0.47900  0.16800  0.25400
2            0.35700       2.1030   1.7170   1.2450
3            0.61700       4.0720   3.0530   2.2860
4            1.5470        9.5670   8.4720   5.2820
5            1.3290        8.1820   6.3380   4.5840