[Perldl] Comparing Matlab with PDL

Craig DeForest deforest at boulder.swri.edu
Sun May 31 11:02:39 HST 2009


Hi, Gabor,

I'm not familiar anymore with the Matlab syntax, but I believe Gnu  
Octave was intended as a work-similar replacement for it.  PDL is, as  
you say, aimed at "small to medium sized" tasks - defined as "smaller  
than the main memory of your computer", which is a moving target.  PDL  
today is useful for things that, ten years ago, only supercomputers  
did -- for example, recently I've been performing nonlinear fitting on  
2048x2048x50 floating-point arrays, which would be considered a  
"large" task not very long ago.  PDL is the front end for at least one  
MHD simulation code, which is more commonly the purview of "big iron"  
techniques.

PDL's interactive shell ("perldl") is very nice, and allows direct  
user interaction with data, much the same way as Matlab, IDL, or even  
Gnuplot do, though I like to think perldl is smoother going than the  
commercial alternatives.

It's true that PDL does not come with a GUI IDE - I'm old skool enough  
not to miss it.  I tend to use emacs for everything anyway.  (There is  
a "perl" emacs mode that does color coded grammar markup.)

Perl has lots of tools (like "closures", which will blow your mind if  
you haven't heard of them before) that are not present in other data  
analysis languages, but which you will miss if/when you switch back.   
Lately I've been using "Inline" a lot -- "use Inline" will let you  
write a little snippet of code in C or FORTRAN or even PP (the  
metalanguage in which most of the PDL internals are written), and  
integrate it seamlessly with the rest of your perl/PDL script.

Er, I hope that helps...


On May 31, 2009, at 9:49 AM, Gabor Szabo wrote:

> Hi,
>
> in last month I have been working at a client gluing together and
> application with perl
> where the various pieces are written in C, Java, Matlab and probably
> other thing.
> I never used Matlab before but as a Perl trainer I have often met
> people who used
> Matlab and needed Perl for various tasks.
>
> I never used Matlab but I know PDL should be a replacement for it - or
> at least that's
> the level of my understanding - so I wonder what are the advantages  
> and
> disadvantages of the two as compared to each other.
>
> Certainly price is a big difference and the fact that PDL is open
> source while Matlab
> is proprietary so I am more interested in the technical aspects.
>
> I searched a bit and found this article:
> http://www.freesoftwaremagazine.com/articles/cool_fractals_with_perl_pdl_a_benchmark
> which on the last page shows that PDL is twice as fast as Matlab - at
> least in that
> specific Mandelbrot example.
>
> I found a few hits mentioning PDL::Matlab but no actual code.
>
> http://en.wikipedia.org/wiki/Perl_Data_Language
> says  "[PDL is ] intended for small to medium sized analysis tasks"
>
>
> I could not find other references.
>
>
> So I am really interested you people pointing me to further references
> or giving your opinion.
>
>
>
>
> Lastly let me give my own plug:
> One aspect that I guess users of Matlab will say that PDL is lacking  
> is the IDE.
> If I understand correctly Matlab is an IDE with a language. PDL is
> just the language.
> This might not be an issue for people already knowing PDL but I  
> guess it
> might be harder to "sell" PDL because of this.
> So I was wondering if it would help to hook PDL up to Padre, the  
> Perl IDE
> I have been developing for some time with a bunch of other people
> See http://padre.perlide.org/ .
>
> If anyone is interested in this I'd be glad to discuss it here or on  
> the Padre
> mailing list or IRC channel.
>
> regards
>   Gabor
>   http://szabgab.com/
>
> _______________________________________________
> Perldl mailing list
> Perldl at jach.hawaii.edu
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>





More information about the Perldl mailing list