Hmm... odd, I find that skeleton spawners are rather slow at producing arrows. The farm I built however can earn 32 emeralds within a few minecraft days.
If a villager gives 16 arrows for one emerald then that means:
32 (emeralds you spend) * 16 (arrows you get per emerald) = 512 (arrows purchased)
It only took about 3-4 in game days. Sometimes the farm will yield more than 32 emeralds, one time I got 64 emeralds out of it in one harvest.
the problem with infinity enchantment is that it is not compatible with mending. The bow will eventually break or get supper exp expensive to repair. I like the mending thing because theoretically the bow will last forever and keep its enchantments.