Resent: Wed, 09 Sep 1998 23:45:08 -0400 Resent: help-octave@bevo.che.wisc.edu X-Mailer: exmh version 2.0.2 2/24/98 (debian) To: Daniel Heiserer cc: mxu1@email.gc.cuny.edu, help-octave@bevo.che.wisc.edu Subject: Re: Recommend tela, octave, matlab In-reply-to: daniel.heiserer's message of Wed, 09 Sep 1998 08:36:16 +0200. <35F621E0.9F31A017@bmw.de> From: mxu1@email.gc.cuny.edu X-Face: "HxE|?EnC9fVMV8f70H83&{fgLE.|FZ^$>@Q(yb#N,Eh~N]e&]=>r5~UnRml1:4EglY{9B+ :'wJq$@c_C!l8@<$t,{YUr4K,QJGHSvS~U]H`<+L*x?eGzSk>XH\W:AK\j?@?c1o > 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-2.1.7.3 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-2.1.7.3 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 instead." 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) [y]=foo(x) { double val; val=bar(x.RealValue()); y=Tobject(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: mxu1@email.gc.cuny.edu minxu@sci.ccny.cuny.edu Tel: (O) (212) 650-6865 (O) (212) 650-5046 (H) (212) 690-2119