Yes, it is true conceptually, but:
1) "Who cares" is not the sort of thing you want to say to someone who cares about performance because:
2) Sending the data to buffers for subsequent reduction was the first implementation (2009). But it was a memory hog and a 5% or so slowdown to perform the reduction subsequently rather than concurrently with Atomic Ops and 64-bit Fixed Point (2012).
But I guess what we're arriving at is that this is essentially a functional design using imperative code? I can live with that.
Re:Functional Programming in C++ (2013)
by peterfirefly on Saturday July 25, 2015 @03:35PM
(#9948698)
> But I guess what we're arriving at is that this is essentially a functional design using imperative code? I can live with that.
Yep. That's precisely what it is.
Who cares if you implement the combining with atomic ops or by sending data to a process that does the combining or whether you stuff the data in a buffer and then reduce it afterwards?
(Of course you might care for performance reasons -- but conceptually it's the same thing.)