[ 
https://issues.apache.org/jira/browse/JXPATH-183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15024894#comment-15024894
 ] 

Ganna Shmatova commented on JXPATH-183:
---------------------------------------

It was discovered in the logs:

{quote}
2015-11-24 11:16:19,928  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:55) - [sessionID: 
perf-test] []     Retrieving from base mapping 
//LOB/account/accountIdentifier[type='A']
2015-11-24 11:16:24,056  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:79) - [sessionID: 
perf-test] []     Assigning mapping accountNumber [identifier] = 34256523
2015-11-24 11:16:24,059  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] 
(MappedPreparedSelectStatement.java:54) - [sessionID: H] []     select ID1, ID2 
from ACCOUNTS where LOB_ACCOUNT_NO='34256523' and LOB_ACCOUNT_TYPE_NAME='H'
2015-11-24 11:16:24,256  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (AudienceIdRetrieval.java:36) - Query 
retrieved 0 records, and grabbed them in the following format: 
2015-11-24 11:16:24,257  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:55) - [sessionID: 
perf-test] []     Retrieving from base mapping 
//LOB/account/accountIdentifier[type='C']
2015-11-24 11:16:27,240  WARN [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:84) - [sessionID: 
perf-test] []     Base mapping [//LOB/account/accountIdentifier[type='C']] not 
found
2015-11-24 11:16:27,242  WARN [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (MappingRetrieval.java:96) - 
[sessionID: perf-test] []     Query [select ID1, ID2 from ACCOUNTS where 
LOB_ACCOUNT_NO={accountNumber} and LOB_ACCOUNT_TYPE_NAME={accountType}] will 
not be run because mapping [origin] could not be found
2015-11-24 11:16:27,242  INFO [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:55) - [sessionID: 
perf-test] []     Retrieving from base mapping 
//LOB/account/accountIdentifier[type='B']
2015-11-24 11:16:30,167  WARN [[ACTIVE] ExecuteThread: '3' for queue: 
'weblogic.kernel.Default (self-tuning)'] (Mapping.java:84) - [sessionID: 
perf-test] []     Base mapping [//LOB/account/accountIdentifier[type='B']] not 
found
{quote}
A 2-3 seconds request, when changed to have well formatted 4 
XMLGregorianCalendars, ended up taking 53 seconds. (or 400ms > 10 seconds on 
our fastest machines).

It only goes this slow when eclipse debug mode shows me XMLGregorianCalendar in 
our 'buggy' fields (other times it is just null).
I tried to reproduce it standalone but it seems to not be just 
XMLGregorianCalendar... hmm. Maybe was too simple a test object.

JVisualVM says most CPU use is at 
org.apache.commons.jxpath.util.ValueUtils.getIndexedPropertyLength(), but 
here's a picture of the snapshot: http://i.imgur.com/R8Icx8q.png

> XMLGregorianCalendar existence adding a lot of performance penalty
> ------------------------------------------------------------------
>
>                 Key: JXPATH-183
>                 URL: https://issues.apache.org/jira/browse/JXPATH-183
>             Project: Commons JXPath
>          Issue Type: Improvement
>    Affects Versions: 1.3
>         Environment: Windows 7, Amazon Unix, Weblogic
>            Reporter: Ganna Shmatova
>              Labels: performance
>
> We're using JXPath to parse some input from a client. When they give us a 
> valid date it gets transformed from a SOAP message into Java objects. When 
> this happens JXPath queries suddenly take 1-8 seconds more (depending on 
> system -- the optimized system it's 1 second, dev & test machines it's 8).
> Kicker is, we don't even look for this field. Just its existence does it.
> (we've quickfixed to omit the xml tags before the string is parsed into Java 
> for now)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to