I (think I ;)) have finished this round of performance rsyslog tuning. The result is rather impressive:
On my virtualized 4-core development environment (not exactly a high-end environment), I went from approx. 70,000 messages per second (mps) to approx. 280,000 mps. Note that these numbers do not necessarily represent a practice configuration, but I think they show the magnitude of the optimization. Also note that some complex configurations have far lower gain, because some things (like execute an action only n times within m seconds or "message repeated n times" processing) require serialization of the message flow and there is little we can gain in this case.
I plan to do an "official release" in the not so distant future. Next, I will first see which patches I have in my queue and then I'll focus on the config language enhancement. That's much more complex than just the format -- I'll blog the details hopefully either later today or tomorrow morning.