5 ms·
Depends on what you mean by recent. In the last 10 years: yes, much faster for number crunching (like SVD, Cholesky, determinant computations, etc).
by rhodin 13y ago
Depends 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.