
Dave Abrahams wrote:
on Sun Dec 16 2012, Julian Gonggrijp wrote:
[...] concurrency might be completely wasted unless you're able to take advantage of pipelining.
Isn't execution of linearly dependent operations always a pipeline?
Yes, but pipelining doesn't help if the input period exceeds the pipeline latency.
I think I see your point and I agree.
Assuming that, isn't every [edge] in a dependency graph a pipeline by itself?
I suppose it's a degenerate pipeline, but I don't know what you're getting at.
I was meaning to hint that pipelining is a *necessity* whenever there's such a thing as a dependency graph, so there would really be no question of whether you can take advantage of it or not (you /have/ to). In retrospect I understand you meant that there's not always a speed benefit in doing the pipelining concurrently. Now your statement turns out to be a tautology. ;-)
Assuming that, isn't pipelining the entire purpose of any form of computational composition?
IMO the purpose of computational composition is to manage complexity through re-use.
Well spoken. (This is a hidden agreement.)
[...]
[...]
Yes.
I'll assume that means "no dispute here". -Julian PS: could you be so kind to mangle email addresses in your quote attribution lines, or perhaps leave them out entirely?