Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hear frequently that BEAM languages shouldn't be used for numerical computing or any CPU-bound tasks. Why not, though?

If I take a high resolution image and spawn N*M BEAM processes which each deal with performing processing on some subcomponent of the image, and then use some scheduling algorithm to reassemble the image after the processing is done, wouldn't you have substantial speedups compared to using some other image processing library in a language like Python?

In the same vein, things like matrix multiplications or other numerical algorithms that are known to parallelize well seem to lend themselves really well to BEAM processes, although the libraries aren't written yet since you can trivially call Python from BEAM anyways.



NxM BEAM processes will give you a real boost only if you have NxM physical cores to run code in parallel. Yes, Erlang makes clusters painless, but it's still more reasonable to use a single machine with a faster VM/native code.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: