3 ms·
I’ve been wondering for like 15 years when a language is actually going to show up where I can just write my code procedurally and the compiler automatically fi
by donatj 6y ago
I’ve been wondering for like 15 years when a language is actually going to show up where I can just write my code procedurally and the compiler automatically figures out what it can parallelize.
Like if I have 3 definitions in a row that set variables to the result of methods that don’t share memory, that seems pretty obviously parallelizable. Why isn’t anyone doing these sorts of optimizations?
I would have thought it would have been solved by now, but I was wrong.
- smabie 6y agokdb+/q automatically parallizes operations in the most recent release, but since it's closed source, it's unclear how far it actually goes. It would be cool if the compiler could construct a DAG of operations and automatically offload independent computations onto different cores. I think this would necessitate a purely functional language, though.
- gonzo41 6y agoThat sound 'cheap' but if you think of the clock rate of a CPU, doing those tasks in parallel will take time to setup, process and teardown. That example doesn't really work well. Fitting problems into grids of processing like SIMD or GPU's is tricky because not a lot of problems fit those well like images. Most of what you're asking for is about understanding business flow which a language will never do.
- valenterry 6y agoBecause it doesn't help performance. It only really helps if you execute calculation on different threads - but then you need to prepare for these threads to fail (e.g. be killed by the OS) and to handle this.