The existing Yellowfin broadcasting code has several inefficiencies that can lengthen the time needed to deliver a batch of emails to recipients. One of the main problems with this existing code, is in relation to its ability to use multiple cores for increased throughput. Even though multiple separate broadcasting tasks can run simultaneously on separate cores, each individual broadcast job is restricted to a single thread. This means that if one single broadcast job is running on an 8-core device, only one thread will be utilized. This can lengthen the time taken to finish a job, as Yellowfin will generate a report for each recipient individually (which is in fact another inefficiency of the broadcasting process).