As we know - core.async uses CSP and is similar to goroutines from go-lang. Now for a scenario like select and alt this makes a lot of sense.
David Nolen has done an amazing demo here showing core.async in Clojure at work in animation in ClojureScript.
Yet I can replicate a similar functionality with a simple for loop. You can see a demo here.
function animationLoop() {
for (var i =0;i<100;i++) {
for (var j= 0; j<100;j++) {
//decision to animate or hold off
var decisionRange = randomInt(0,10);
if (decisionRange < 1) {
var cell = document.getElementById('cell-' + i + j);
cell.innerHTML = randomInt(0,9);
cell.setAttribute('class','group' + randomInt(0,5));
}
}
}
}
My question is What is the actual benefit of core.async in the '10,000 processes animation scenario'?