[Top][All Lists]

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

Re: Recommend tela

From: mxu1
Subject: Re: Recommend tela
Date: Thu, 10 Sep 1998 09:32:54 -0400


> On a IRIX6.2 R10000 octave performs matlab out by a factor of 3-4 for
> numbercrunching: inverse and solve.

I would like to give some timing statistics here first:

On my Pentium200, 32M RAM, linux 2.0.35 system, timing in seconds for 
inv(rand(n,n)): (taking average for 5 consequent runs, the command used:
a=rand(n,n); tic(); b=inv(a); toc(); )
                                n=100   n=200   n=400   n=600   n=800
        tela-1.27               0.11    0.83    7.4     26.5    64.6
        rlab-2.0.15             0.16    1.20    9.6     33.6    79.1
        octave-          0.11    0.90    8.8     32.2    82.9    

and in a SGI Origin200 with 4 180 Mhz CPU and 256M RAM, do the same test:
                                n=100   n=200   n=400   n=600   n=800
        tela-1.27               0.011   0.044   0.22    0.66    1.50
        octave-2.0.13           0.036   0.26    1.47    11.3    32.0
        matlab-4.2c             0.065   0.45    3.61    14.6    38.3
But I think a numbercrunching like inv actually measures more the quality of 
the underlying library it calls rather than the efficiency of caller itself.
So I also make the following test ( a=0; tic(); for i=1:n; a=a+i; end; toc(); 
                                n=1e4   n=1e5   n=1e6
        tela-1.27               0.07    0.75    7.5
        rlab-2.0.15             0.09    0.92    9.26
        octave-          1.04    10.27   107.25

The SGI performs:
                                n=1e4   n=1e5   n=1e6
        tela-1.27               0.044   0.45    4.50    
        octave-2.0.13           0.66    6.65    67.2    
        matlab-4.2c             0.19    1.93    19.5

( Note: tela is compiled into using 4 CPU parallelly, but matlab and octave is 
not parallel compiled in the SGI machine. So it shows a great difference here. 
But even after times 4 to the tela's results, it is still much faster than 
other. Also, these results suggest that octave is using a better library 
LAPACK than matlab for solving inv(), but octave's own efficiency is not as 
good as matlab4. )

A. Scottedward Hodel wrote:

" Another package I've seen discussed is
SciLab, developed at INRIA in France.  One reason I'll be staying
with Octave is about 16,000 lines of octave m-files I've written
for the Octave controls toolbox.  I've occasionally considered
moving to another package (scilab being the prime contender), but
I'm finding the workload better if I improve Octave's packages

I also have scilab at my hand. Scilab is as efficient as or even a little bit 
more efficient than tela. But I do not like its graphics and its interfacing 
ability with external programs is strong but not as attractive and intuitive 
as tela (in my view).

For example, a small code fragment can be dynamic linked into tela as a 
function foo(x)
                double val;     
                return 0;
which actually call an external function "double bar(double)". Notice the 
interfacing stuff is only the first line. The real interfacing thing is done 
by a preprocessor ctpp which converts it to C++ code. And it supports variable 
number of inputs and outputs, calling an script function (like .m file) from a 
dynamic function ( like .oct file ).

Last, I need to point out that tela is NOT a matlab clone and it does not want 
to. But it provide an engine which can call matlab within tela when tela run 
out of features.

And it is true tela's features are not as rich as octave although it has some 
very nice features. (see its web page)


Min Xu                          
City College of NY, CUNY                
Email:  address@hidden
Tel:    (O) (212) 650-6865
        (O) (212) 650-5046
        (H) (212) 690-2119              

Min Xu                          
City College of NY, CUNY                
Email:  address@hidden
Tel:    (O) (212) 650-6865
        (O) (212) 650-5046
        (H) (212) 690-2119              

reply via email to

[Prev in Thread] Current Thread [Next in Thread]