PDA

View Full Version : Migration to ANTLR v3 for SpEL


john.hui
05-26-2007, 11:44 PM
Dear Spring team,

I have been using Spring for 6 months now and have found it to be useful in most of my projects. Credits go to the Spring.Net team for adding new features and resolving issues.

One of the issues I have been having is performance issue with the SpEL parser. Depending on how the SpEL is written, performance can take a few seconds (sometimes up to 10s on an otherwise decent Dell Dual Core machine with 4GB). I understand that this is due to the underlying external component called ANTLR which is at version 2. The ANTLR uses exception handling to parse a text, which is probably conceptually elegant but very unoptimised in practice. I believe I am not the only Spring user to complain of this.

I have noticed that ANTLR v3 for C# is in final betas (http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Target). This new version apparently offers much better performance that v2.

My question is can we try to release Spring.Net v1.1 based on ANTLR v3? If not, can we try to add this somewhere into the roadmap? Having better performance will definitely make SpEL a much more useful tool for most people and will encourage many dotNet developers to consider seriously using Spring.Net in their projects.

Thanks you.

John Hui

Mark Pollack
05-27-2007, 01:54 AM
Hi John,

Thanks for the feedback. We in fact contacted the antlr dev list about this a while ago but at the time it seemed there was no interest in making those optimizations, even though it was a well known issue. Glad to see this has changed in v3. I've added it to the road map (SPRNET-564 (http://opensource.atlassian.com/projects/spring/browse/SPRNET-564)) for 1.1 so we can track this feature request. With any luck it will be an easy replacement.

Cheers,
Mark

john.hui
05-27-2007, 04:18 PM
Hi Mark,

Thanks for taking note. I'll be looking forward to this in the 1.1 M1 release.

Regards,

John Hui