<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Good points (as always). I've seen good examples of people using an interpreted language. It is easy to develop new code and algorithms and test them (I do that quite often). As you point out, this is great for some people who don't need to run the code many times. I've also seen people use the prototypes to develop compiled applications resulting in huge performance gains when they finalize an algorithm or as you point out, need the speed for their particular application.<br><br>What I worry about are the "in-between" cases where people stick with interpreted code for whatever reason, even though they need the speed of a compiled application. I've seen example of this all too often. In many of the cases I've seen, these interpreted applications don't evolve and then the users start screaming
that their applications don't scale so they need faster hardware, implying $$$.<br><br>Ultimately, I think it's a trade-off between $$ spent on rewriting the application for for compiled languages or spending $$ on faster hardware. So, it's a case by case decision :)<br><br>Thanks for the comments. Good insight that I missed. Plus, as usual, I've gotten way off track and I hate this silly web based email tool that doesn't have a good way to do quoted or indented replies. :) So I'll stop here.<br><br>Jeff<br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> "Lux, James P" <james.p.lux@jpl.nasa.gov><br><b><span style="font-weight: bold;">To:</span></b> Jeff Layton <laytonjb@att.net>; Tim Cutts <tjrc@sanger.ac.uk><br><b><span
style="font-weight: bold;">Cc:</span></b> Beowulf Mailing List <beowulf@beowulf.org><br><b><span style="font-weight: bold;">Sent:</span></b> Sunday, December 28, 2008 1:28:59 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Beowulf] Hadoop<br></font><br>
<br><br><br>On 12/28/08 7:17 AM, "Jeff Layton" <<a ymailto="mailto:laytonjb@att.net" href="mailto:laytonjb@att.net">laytonjb@att.net</a>> wrote:<br><br>> I think I understand why people want the toolboxes - it makes coding easy.<br>> From what I've seen people then stay with the "prototype" code and never move<br>> to a compiled language such as C or Fortran. It's been a long, long time, but<br>> I did all of my code prototyping for my PhD in Matlab and rewrote it in<br>> Fortran. I was easily able to get a 10x speedup. I guess people don't like 10x<br>> improvements in performance any more :)<br><br>Bearing in mind Hamming's admonition "the purpose of computing is insight,<br>not numbers", it could well be that for a "research" application (contrasted<br>with production) you don't need the 10x speedup. If the slow, easy to code,<br>version gives you the answers you need in reasonable time, why change.<br><br>OTOH, if your
dissertation problem requires computation that takes months in<br>Matlab, you've got two paths (at least):<br>1) spend some time (less than months) to learn how to code in a faster<br>style/language/syste<br>2) reframe your problem so it doesn't require the computation (and then<br>convince your committee of this, which could take longer than just doing the<br>computation, eh?)<br><br>If you're interested in faster than real time modeling, though, (say, you're<br>doing real time control in robotics), then fast speed is essential.<br><br>><br>> An option for people is to use the Matlab compiler to build faster code. I've<br>> never used it but the reports I've seen is that it works quite well. I'm not<br>> sure about how the toolboxes work with it - whether you compile them as well<br>> or they run as interpreted along with the compiled code.<br><br>Works quite well (a lot of the toolboxes are compiled as well).. Just don't<br>expect to
look at and debug the output of the compiler, so good test cases<br>are important. Ad hoc development styles tend to be dicey.<br><br>><br>> Octave has a number of toolboxes. I'm not sure if it covers what various<br>> people are doing, but they are out there.<br><br>Octave also does compilation. That is, just like Matlab, it does a just in<br>time style of compilation to an intermediate form. A loop doesn't get<br>reinterpreted on each pass through the loop.<br><br></div></div></div></body></html>