You just have to factor in your level and how many zeals it will take to get to the next level. If you are at say level 60 attack, and you get 100 zeal, you might get like 2,000 xp per zeal, that is 200,000 xp + 10% = about 220k xp, while if you only needed like 10 zeal to get to the next level you might have gotten 2,200 xp per zeal. In essence at higher levels, yes it is much more efficient to trade in 100 zeal at a time. But at the lower levels it is just not worth it.