Paul Thomas
2004-03-07 11:40:57 UTC
I am posting the results of this Sciviews benchmark test on the help
list to hit the widest possible audience. John Eaton and the other
contributors to octave and octave-forge have my applause for the effort
that they have put in over the last couple of months to extend and speed
octave up.
I also wish to encourage you to go the whole hog and update to ATLAS,
FFW, octave-2.1.56(when it becomes the recommended version) and
octave-forge (in that order). On an Athlon 1700 RH9 machine with only
256Mbyte memory (of which more in a moment), the Sciviews benchmark
tests (see http://www.sciviews.org/other/benchmark.htm ) gave:
Octave Benchmark 2
==================
Number of times each test is run__________________________: 3
I. Matrix calculation octave-2.1.56
(Matlab6.5)
---------------------
Creation, transp., deformation of a 1500x1500 matrix (sec): 1.117
(0.6733)
800x800 normal distributed random matrix ^1000______ (sec): 0.1454
(0.2846)
Sorting of 2,000,000 random values__________________ (sec): 1.696
(0.9027)
700x700 cross-product matrix (b = a' * a)___________ (sec): 0.4062
(0.5264)
Linear regression over a 600x600 matrix (c = a \ b') (sec): 0.247
(0.2885)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 0.4822
II. Matrix functions
--------------------
FFT over 800,000 random values______________________ (sec): 0.3724
(0.5914)
Eigenvalues of a 320x320 random matrix______________ (sec): 0.9604
(1.0192)
Determinant of a 650x650 random matrix______________ (sec): 0.2894
(0.2450)
Cholesky decomposition of a 900x900 matrix__________ (sec): 0.3212
(0.3306)
Inverse of a 400x400 random matrix__________________ (sec): 0.1626
(0.1957)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 0.3259
III. Programmation
------------------
750,000 Fibonacci numbers calculation (vector calc)_ (sec): 0.6075
(0.9792)
Creation of a 2250x2250 Hilbert matrix (matrix calc) (sec): 1.137****
(1.1501)
Grand common divisors of 70,000 pairs (recursion)___ (sec): 0.6918
(0.4376)
Creation of a 220x220 Toeplitz matrix (loops)_______ (sec): 1.449
(0.0021)
Escoufier's method on a 37x37 matrix (mixed)________ (sec): 2.2
(1.1663)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.045
Total time for all 15 tests_________________________ (sec): 11.8
(8.7927)
Overall mean (sum of I, II and III trimmed means/3)_ (sec): 0.5475
--- End of test ---
**** The Hilbert matrix test uses a lot of memory. With one memory bank
AWOL, 256Mbyte is not enough. It took 7-8 repeats to allow the system
to clean up the memory enough that no swapping occurred during the test.
It will be noted that most of the difference now lies in the last two
tests, where Matlab must either be employing automatic vectorisation or
an on the fly compiler, when it can. This seems to be where Matworks
have been concentrating their effort since the Sciviews tests were
posted). Octave, with all the trimmings, now has roughly the performance
of Matlab6.0.
Vectorising the Toeplitz test, reduces its execution time in octave to
0.018s. TAKE NOTE!
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------
list to hit the widest possible audience. John Eaton and the other
contributors to octave and octave-forge have my applause for the effort
that they have put in over the last couple of months to extend and speed
octave up.
I also wish to encourage you to go the whole hog and update to ATLAS,
FFW, octave-2.1.56(when it becomes the recommended version) and
octave-forge (in that order). On an Athlon 1700 RH9 machine with only
256Mbyte memory (of which more in a moment), the Sciviews benchmark
tests (see http://www.sciviews.org/other/benchmark.htm ) gave:
Octave Benchmark 2
==================
Number of times each test is run__________________________: 3
I. Matrix calculation octave-2.1.56
(Matlab6.5)
---------------------
Creation, transp., deformation of a 1500x1500 matrix (sec): 1.117
(0.6733)
800x800 normal distributed random matrix ^1000______ (sec): 0.1454
(0.2846)
Sorting of 2,000,000 random values__________________ (sec): 1.696
(0.9027)
700x700 cross-product matrix (b = a' * a)___________ (sec): 0.4062
(0.5264)
Linear regression over a 600x600 matrix (c = a \ b') (sec): 0.247
(0.2885)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 0.4822
II. Matrix functions
--------------------
FFT over 800,000 random values______________________ (sec): 0.3724
(0.5914)
Eigenvalues of a 320x320 random matrix______________ (sec): 0.9604
(1.0192)
Determinant of a 650x650 random matrix______________ (sec): 0.2894
(0.2450)
Cholesky decomposition of a 900x900 matrix__________ (sec): 0.3212
(0.3306)
Inverse of a 400x400 random matrix__________________ (sec): 0.1626
(0.1957)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 0.3259
III. Programmation
------------------
750,000 Fibonacci numbers calculation (vector calc)_ (sec): 0.6075
(0.9792)
Creation of a 2250x2250 Hilbert matrix (matrix calc) (sec): 1.137****
(1.1501)
Grand common divisors of 70,000 pairs (recursion)___ (sec): 0.6918
(0.4376)
Creation of a 220x220 Toeplitz matrix (loops)_______ (sec): 1.449
(0.0021)
Escoufier's method on a 37x37 matrix (mixed)________ (sec): 2.2
(1.1663)
------------------------------------------------------
Trimmed geom. mean (2 extremes eliminated): 1.045
Total time for all 15 tests_________________________ (sec): 11.8
(8.7927)
Overall mean (sum of I, II and III trimmed means/3)_ (sec): 0.5475
--- End of test ---
**** The Hilbert matrix test uses a lot of memory. With one memory bank
AWOL, 256Mbyte is not enough. It took 7-8 repeats to allow the system
to clean up the memory enough that no swapping occurred during the test.
It will be noted that most of the difference now lies in the last two
tests, where Matlab must either be employing automatic vectorisation or
an on the fly compiler, when it can. This seems to be where Matworks
have been concentrating their effort since the Sciviews tests were
posted). Octave, with all the trimmings, now has roughly the performance
of Matlab6.0.
Vectorising the Toeplitz test, reduces its execution time in octave to
0.018s. TAKE NOTE!
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------