Thought I'd repost this information in a more collapsed format, as it is currently spread among multiple threads/pages/posts.
Because of how the nerf played out, imp swarm is a dps loss at all haste levels. However, it should be noted that it's only a 2% dps loss to use, and provides utility in the opener allowing you to maintain metamorphosis much more easily, and can line up with burst mechanics on bosses resulting in higher dps.
Comparing with no haste, counting 5.4 nerf to imp swarm:
Imp Swarm has a base of 2 imps per minute when used on cd
120 second base cd
24 second icd on demonic calling
Without glyph, demonic calling provides 3 imps per minute
20 second icd on demonic calling
The most optimal way to use imp swarm is to delay for said dark soul, as the 30% mastery it provides increases the damage of the imps. Even though you lose imps per minute from delaying it for DS, you end up netting more total damage because the damage of each individual imp goes up by a large percentage.
Every 20% haste, you gain an additional imp between imp swarm coming off cooldown. This is because of the previous explanation for delaying for dark soul. As haste increases the cooldown of imp swarm decreases, but the cooldown of dark soul is stagnant. Thus, as haste increases, there is a gap between the cooldown of imp swarm and dark soul, allowing you to get demonic calling procs, which switches back on as soon as imp swarm comes off cooldown.
h = x * 0.2
x = the number of wild imps you want to fit in between the imp swarm and dark soul cooldown gap
h = the haste required, in decimal format
Put simply, its every 20%. I can give more daunting math on this if requested, but its just a bunch of long algebra manipulation.
To calculate the haste rating required without raid buff, for reforging or whatever:
(( h + 1 ) / 1.05 - 1 ) * 100 * 425 = haste rating required
The 1st breakpoint is: 6071.4285714285714285714285714286
The 2nd breakpoint is: 14166.666666666666666666666666667
The 3rd breakpoint is: 22261.904761904761904761904761905
The 4th breakpoint is: 30357.142857142857142857142857143
The 5th breakpoint is: 38452.380952380952380952380952381
At higher haste levels it becomes possible to use imp swarm twice between the dark soul cooldown. You achieve this point by default at the 5th breakpoint. When used at the same time as dark soul you can achieve it at the 4th breakpoint with bloodlust or meta. You can also achieve it slightly above the third breakpoint (2408 haste more) with bloodlust and meta up.
Generally speaking this only happens at pull, but keep it in mind. If you like playing higher haste demonology then you can very likely get an extra imp swarm in there. I'm making a weakauras string that tracks the current cooldown on both imp swarm and dark soul counting haste buffs, so I instantly know if I can use it again before dark soul comes up, as there are situations where you may have something like a meta proc on the first use and a meta proc on the second use as well, drastically altering the math. I'll be posting it asap.