Speculative execution
Now that we have seen close to three different implementation strategies of the Schönhage-Strassen algorithm, how do we perform deliberate calibration, and decide which is the best strategy (now that we understand that it has a close co-relation with its environment and associated resources)?
Note
This is where this important pattern really helps us make a decision, when deviations against anticipated results are unavoidable, and need to be smartly addressed.
We would schedule asynchronous tasks for each of these strategies for execution, leverage the WaitAny
method of the Task
class to wait for one of the operations to complete (one that finishes first), and attempt to cancel all others. On a smart-learning front, this could ...
Get .NET Design Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.