[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Performance of a Windows Octave standalone.
From: |
Ole Jacob Hagen |
Subject: |
Performance of a Windows Octave standalone. |
Date: |
Fri, 29 Oct 2004 13:09:54 +0200 |
User-agent: |
Mozilla Thunderbird 0.7 (Windows/20040616) |
Hi.
I have been struggling with NSIS, Cygwin and Windows lately, but have
now made a stand alone installation package for octave-2.1.60, included
octave-forge (CVS -version), some cygwin libraries, and support for
gnuplot (windows version).
You don't need Cygwin to run Octave, since the run-time libraries are
included. ;-)
Remember that there are no atlas or blas included here. It's purely
Octave code.
I compiled octave and octave-forge with gcc-3.3.3, and benchmarked my
octave according to the benchmark suites found in
http://www.sciviews.org/other/benchmark.htm. Thanks to D. Bateman, I
could run the complete test. ;-)
Attaches the gcd2.m file, that are required to finish point 3.C of the
benchmark test.
Take a look at the results from the bench-test. m-files are slow, but
some oct-files are pretty acceptable.
How does this compare with the Linux system?
Could it be an advantage, if I compiled octave with gcc-3.2.2 instead?
Could someone compare with gcc-3.2.2?
I am having some hacking left to do, but when this is ready, I'll will
make the stand-alone Octave available at sourceforge or octave.org.
If you are really in a dead or alive situation with Octave on Windows,
then send me an email.
I will then give you access to my ftp, as fast as I can. ;-)
Cheers,
Ole J.
And my results are:
octave-2.1.60:8> benchmark
Octave Benchmark 2
==================
Number of times each test is run__________________________: 3
I. Matrix calculation
---------------------
Creation, transp., deformation of a 1500x1500 matrix (sec): 1.093
800x800 normal distributed random matrix ^1000______ (sec): 0.899
Sorting of 2,000,000 random values__________________ (sec): 1.34
700x700 cross-product matrix (b = a' * a)___________ (sec): 4.224
Linear regression over a 600x600 matrix (c = a \ b') (sec): 0.9883
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.131
II. Matrix functions
--------------------
FFT over 800,000 random values______________________ (sec): 0.9717
Eigenvalues of a 320x320 random matrix______________ (sec): 1.215
Determinant of a 650x650 random matrix______________ (sec): 1.166
Cholesky decomposition of a 900x900 matrix__________ (sec): 0.6697
Inverse of a 400x400 random matrix__________________ (sec): 0.9513
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.025
III. Programmation
------------------
750,000 Fibonacci numbers calculation (vector calc)_ (sec): 1.726
Creation of a 2250x2250 Hilbert matrix (matrix calc) (sec): 0.8423
Grand common divisors of 70,000 pairs (recursion)___ (sec): 3.229
Creation of a 220x220 Toeplitz matrix (loops)_______ (sec): 38.49
Escoufier's method on a 37x37 matrix (mixed)________ (sec): 26.15
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 5.263
Total time for all 15 tests_________________________ (sec): 83.96
Overall mean (sum of I, II and III trimmed means/3)_ (sec): 1.828
--- End of test ---
function c = gcd2(a, b)
% Greatest common divisor by a recursive algorithm
% This function is used for the Matlab benchmark
% Use gcd(a, b) instead for other uses
%
% by Ph. Grosjean, 2001 (address@hidden)
if b <= 1.0E-4
c = a;
else
b(b == 0) = a(b == 0);
c = gcd2(b, rem(a, b));
end
- Performance of a Windows Octave standalone.,
Ole Jacob Hagen <=