I was recently watching a huge swarm of bees gathering nectar on a flowering plant. It got me thinking about how each bee does its own little tiny job, yet they all come together to collect a lot of nectar and keep the hive going in the end. I was inspired to try and come up with a way this system could be replicated in Perl.
One idea I had was regarding the problem of finding an element in a very large array. Using two well-known techniques, this problem could be "swarmed" and solved fairly quickly. The techniques are (1) splitting the array into smaller chunks, and (2) forking. Basically, you split the array up into much smaller arrays, then fork a process (a "bee") to search each of the chunks for the item. Once the item is found, all of the "bees" stop processing and return.
What do you think of this idea? And can you think of any other ways it could be applied?
Update: I just found
Proc::Swarm. While it's not identical to my concept, it's certainly similar.
---
It's all fine and dandy until someone has to look at the code.