Parallelizing the Gold Hunt program
Looking at the previous profiler output, the find_coins
function is still the main bottleneck with ~19.5 seconds of cumulative time. Let's see how parallelization can help speed it up further.
Revisiting the gold field
Here is the gold field image from Chapter 7, Performance – Identifying Bottlenecks:
Let's quickly summarize what we already saw in Chapter 7, Performance – Identifying Bottlenecks:
The
find_coins
method is called for each of the small search circles shown in the figure. So, if there are 10 search circles,find_coins
will be called 10 times, one after the other.The
find_coins
method returns the coordinates of the gold coins lying inside the given search circle.The information about all such collected coins is maintained in a list object.
There is one important thing to note here. It is a serial execution. You start with the first circle, collect the coins and move on to the next one, and repeat the procedure until you hit the other end of the...