sure.
the comparison you're making is not apples to apples, esper is a real time engine only.... so processing 500k events a second isn't actually very fast for an in memory realtime setup. I have seen people run in memory simulations with tradelink at 2-30million ticks per second. The 200-300k/sec historical performance in tradelink is based on historical simulations, something that's not possible to do with esper.
Also note events and ticks aren't the same apple in terms of comparison either. A single tick could have multiple events/signals generated from it. so in the case of an in memory simulation above, tradelink events rates could be many multiples higher than the per tick number.
The reason for this is that CEP frameworks are always going to add extra overhead in comparison to using if/then statements. Thus for the same if/then logic, tradelink should most always be faster than a CEP framework if they are both running on .net. If you choose to use CEP, you should make sure you're getting a return for this extra overhead in terms of saving you code or the time to write that code.
TradeLink is geared for trading applications only, so we put tons of stuff in there to minimize the code you have to write. In a vanilla CEP framework you get none of this, plus you don't get broker or feed connections, you don't get a historical tick store and the ability to run historical simulations.... etc etc.
It should be noted that there's no reason you can't use a framework like ESPER inside of tradelink. tradelink is fully .net compliant.
http://tradelink.googlecode.com