When I saw Vegetto first claim it was an exponential increase over time, I did a bit of number crunching with a friend in game just to see if what he said was true.
Here is a VERY VERY hypothetical/controlled example. I am going to break it up into parts and then piece it together. Also, bear with me please, I have to use a lot of ^ keys to show exponents on digits and units.
(Haste*Delay)/60 = Modified attack delay every ^(second-1). Real time delay is just the weapon delay divided by 60 in case anyone didn't know; so....
Let's say, for the sake of simplicity, you have a weapon with 600 delay, you have no DA, no outside haste, and you consistantly do 100 damage on every hit.
(600)/60 = 10^(s^-1) between every attack *10^(s^-1)=1/10s*
Now take 60s times 10^(s^-1) and you get 6 attacks per minute since, unit wise. Multiply 6 attacks per minute times 60 minutes now. You get 360 attacks per hour.
Take 360 attacks per hour times 100 (average damage dealt per hit) and you get 36000 damage/hour.
Now, manipulate your amount of haste. I'll say 10% haste is now granted. So...
(.10*600)=60 >>> 600-60= 540/60 = 9^(s^-1) >>>
60s(9^(s^-1))= 6.67 attacks per minute *60 minutes/hour =
400.2 attacks per hour x 100 damage per attack =
40020 damage per hour
Last one I promise, 20% haste now
(.20*600)=120 >>> 600-120= 480/60 = 8^(s^-1) >>>
60s(8^(s^-1))= 7.5 attacks per minute *60 minutes/hour =
450 attacks per hour x 100 damage per attack =
45000 damage per hour
Graph the damage per hour and you'll notice it's not linear meaning the gains are exponential :P