You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2020/09/06 09:42:00 UTC
[jira] [Commented] (GROOVY-9716) Close Performance Gap in Groovy
Templates
[ https://issues.apache.org/jira/browse/GROOVY-9716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17191232#comment-17191232 ]
Paul King commented on GROOVY-9716:
-----------------------------------
It would be interesting to know why they turned off caching for the Groovy version. Perhaps their benchmark can be altered slightly to allow caching to be enabled.
> Close Performance Gap in Groovy Templates
> -----------------------------------------
>
> Key: GROOVY-9716
> URL: https://issues.apache.org/jira/browse/GROOVY-9716
> Project: Groovy
> Issue Type: Improvement
> Components: Templating
> Reporter: Suminda Dharmasena
> Priority: Major
>
> Groovy Templates seams to be comparatively less performant than other templating solutions. E.g.: [https://github.com/jreijn/spring-comparing-template-engines]
>
> Can this performance gap be closed making it the most performant?
>
> Also is it possible to add partials evaluation support when only parts of the template need reevaluation when part of the data changes.
>
> Possible areas to improve:
> * Faster reflection can be used like used in: [https://github.com/EsotericSoftware/reflectasm]
> * Be lock-free as much as possible. Maybe [disruptor-proxy|https://github.com/LMAX-Exchange/disruptor-proxy] pattern can be used but with [Conversant Disruptor|https://github.com/conversant/disruptor] limited to the methods which need synchronising
> * Use faster primitive collections
> * Use faster logger like Log4J2 with [Conversant Disruptor|https://github.com/conversant/disruptor]
> NB: This benchmark may be dated but some outperform stringbuilder: https://github.com/greenlaw110/template-engine-benchmarks
--
This message was sent by Atlassian Jira
(v8.3.4#803005)