Details
-
Task
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.0.0-beta
-
None
Description
Martin Koci From dev list:
"...during profiling YourKitProfiler always marks
org.apache.myfaces.resource.ClassLoaderResourceLoader.getLibraryVersion(String) as hotspot - that method always takes 30--50% CPU time per one request/response. Is it a known problem? I will provide more information later...."
Answer from Leonardo:
"....Yes, that one is a big problem. There is no way to "traverse" a jar file without iterating over all entries to get the library version and resource version. That means the current algorithm do that all times a resource is rendered. This is really bad.
I remember someone commented that on jsr-314-open at jcp.org mailing list, and checking the latest ri code (2.0.2-b10), library and resource version feature was removed. It seems a decision was taken there.
Checking more, the topic describing this is:
[jsr-314-open] Need guidance: invalid assumptions in design of resource versioning feature
We should change our algorithm too to prevent this performance problem....."
This one is critical to be solved before release beta 2, because it cause a really seriour performance problem.