Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If you're creating stuff and then passing it to be processed then almost surely you can design your application to make use of <a href="http://en.wikipedia.org/wiki/Message_passing" rel="nofollow noreferrer">message passing</a> and <strong>object isolation.</strong></p> <p>First step will be identify responsibilities, that is, identifying who is gonna handle what. Every who is rounded by a box.</p> <p>Second step will be defining the information flow between your boxes, that is, if A produces X... who consumes it?</p> <p>After that two steps you'll have a <strong>simple graph with leafs representing workers and arrows representing messages.</strong> Every arrow represents a <strong>dependency order</strong> (that is, if an arrow goes from A to B then A needs to be executed before B).</p> <p>With this you'll be able to easily see what actions can be made parallel and what actions are indeed sequential in a graphical easy to see, easy to show way.</p> <p>Then just implement a <a href="http://www.stackframe.net/en/content/06-2008/data-types-pipe" rel="nofollow noreferrer">Pipe</a> structure to let you <strong>pass messages between workers</strong> so that every worker has a pipeline of work.</p> <p>On a final note: Once the original design is done, it's relatively easy to refactor it in order to improve. For example, nodes which make the same work can share work PIPES, so that 8 syntax analyzer consume from the "lexic token" pipe, or change it so that workers can "steal" work from other workers pipes, etc.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload