
on Wed Dec 05 2012, Marcus Tomlinson <themarcustomlinson-AT-gmail.com> wrote:
This library was particularly designed to allow wiring to be done at run-time but I will look into compile time-wiring. If I could just quickly do some motivation though: Building large computations out of smaller ones will not effect performance (in a run-time sense) at all due to the way I've designed the multithreading:
I can't imagine a way that multithreading relates to the costs I'm thinking of. They appear in entirely single-threaded code. The main question is, "does the CPU need to look at a pointer to discover the source and/or destination of a flow, or is the relative address already encoded in the instruction stream?" Auxilliary questions are, "do you have to waste space for these pointers?" and "can you achieve optimal locality-of-reference for the storage used in related computations?" <snip>
I hope this clarifies my definition of "efficient".
It does, and I agree that these considerations can be important for some applications, but it seems to me that for smallish component computations that's going to be really inefficient and you should be thinking about the issues I cited above. -- Dave Abrahams BoostPro Computing Software Development Training http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost