3 ms·
Maybe we'll see a paradigm shift to functional programming, to take advantage of all those cores. Or maybe we'll see the adoption of auto-parallellizing languag
by Joeri 11y ago
Maybe we'll see a paradigm shift to functional programming, to take advantage of all those cores. Or maybe we'll see the adoption of auto-parallellizing languages and frameworks. A paradigm shift can happen in software as well as hardware. We could also gain a few orders of magnitude in real world performance of many use cases by having bulk storage with the performance characteristics of RAM.
- pohl 11y agoWhile we're fantasizing, maybe the world will stop typing in qwerty, and we'll be able to buy Dvorak keyboards at the corner store. People are much harder to move.
- mpweiher 11y agoThe "FP for multi-core" trope is a red-herring, at least so far. Yes, immutability makes parallelizing easier. It also makes things in general so much more expensive that we're still net-negative by a large margin. For example, Simon Peyton Jones gave a talk[1] about Data Parallel Haskell, which after many years of development was still slower on 6 cores than C on a single core. [1] https://www.youtube.com/watch?v=NWSZ4c9yqW8 https://www.youtube.com/watch?v=NWSZ4c9yqW8
- Symmetry 11y agoI think the state of the art for Haskell has improved a lot in terms of scientific computing since 2010? http://research.microsoft.com/en-us/um/people/simonpj/papers/ndp/haskell-beats-C.pdf http://research.microsoft.com/en-us/um/people/simonpj/papers...
- mpweiher 11y agoGlad to hear that they've improved enough to look good on their own benchmarks :-)
- ilzmastr 11y agoFrom my experience with CUDA, parallelism doesn't require any functional like programming. CUDA is very non functional from my perspective since parallel units of work have no return values and their only way of persisting information is to write to a global namespace. Also parallel algorithms are often clever and sometimes take advantage of domain specific details to cut corners for more performance. It seems to me that eventually people will have to use a more complex programming model to get past performance hits. One question is whether the majority of programmers will encounter performance hits in the future