4 ms·
Has the language grown much faster in recent years? I coded some microarray data analysis in Mathematica at one point a few years ago, and was very disappointe
by sixbrx 13y ago
Has the language grown much faster in recent years? I coded some microarray data analysis in Mathematica at one point a few years ago, and was very disappointed in the slow execution, it made it unusable.
It may have been a "naive" implementation that could be much improved, but a similarly naive Java implementation was much faster and not significantly more difficult to write.
- rhodin 13y agoDepends on what you mean by recent. In the last 10 years: yes, much faster for number crunching (like SVD, Cholesky, determinant computations, etc).
- sixbrx 13y agoThanks, good to know. I'm most interested though in the parts between the canned procedures (which I assume are written in C or similar), for custom algorithms. For example loops which manipulate arrays and pattern matching (probably not the right term, maybe "rule selection")? I seem to remember the pattern matching was especially slow, though very powerful. Had the latter been fast enough to use, it would have been a big advantage over Java. I'd be happy with single pass linear matching like ML/Haskell if it were just much faster than what I experienced with Mathematica's, I wonder if there's a way of doing that? Or type hinting, which most dynamic languages seem to eventually need to eek out more performance? Hard to imagine that Mathematica wouldn't need something like that for good performance when you stray from the canned routines, but I'd like to be wrong!
- sampo 13y agoDid you use Compile[] in your functions?
- sixbrx 13y agoI was able to compile some small expressions, but I couldn't compile some larger functions which had parts that were not compilable (I don't remember why). However, looking at the compile support now, it looks like it's more fully featured. For example, I see type hinting is supported now (maybe it was before and I didn't know it). It looks like it's worth trying again.