Shevek created FREEMARKER-80:
--------------------------------

             Summary: Performance bottleneck (from profiling)
                 Key: FREEMARKER-80
                 URL: https://issues.apache.org/jira/browse/FREEMARKER-80
             Project: Apache Freemarker
          Issue Type: Bug
          Components: engine
    Affects Versions: 2.3.26-incubating
         Environment: Linux, Java 8
            Reporter: Shevek


Major performance bottleneck running on a 32-core system, limits effective 
number of threads to about 6: PropertyDescriptor.getReadMethod() is 
synchronized, and blocks other threads. Partial stack follows:

java.beans.PropertyDescriptor.getReadMethod()
BeanModel.invokeThroughDescriptor()
BeanModel.get()
Dot._eval()

I suspect there's a workaround with using a method call directly in the FTL 
template, but I haven't figured it out yet. However, this is killing our 
performance. With Velocity, at the cost of a slower renderer, we can run all 32 
cores, and get the job done faster.

I'm not entirely sure how to figure out which piece of FTL is causing this 
stack.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to