Bad Performance Using SDO Java Classes In Solaris SPARC (Doc ID 1955789.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial and Graph - Version 11.2.0.3 and later
Information in this document applies to any platform.

Symptoms

Bad performance in Solaris on a SPARC processor

The performance problem is seen in the following:

  JGeometry g=JGeometry.load(st);

The problem lies in the libraries of the oracle jars, specifically in the library sdoapi.jar and sdoutl.jar.

The problem resides in this part of the code:

Object obj=rs.getObject(position);
oracle.sql.STRUCT st = (oracle.sql.STRUCT) obj;
if(st!=null){
JGeometry g=JGeometry.load(st); // ***** Here the times go up when executed in Solaris *****
if(g.getType()==2){
int[] elemInfo=g.getElemInfo();
if(elemInfo[1]==JGeometry.GTYPE_COLLECTION && elemInfo[2]==1){
// System.out.println("Convertimos Geometria a Curva");
g=JGeometry.createLinearLineString(g.getOrdinatesArray(),g.getDimensions(),g.getSRID());
}
}
byte[] data=new WKB().fromJGeometry(g); //)

The time is not acceptable compared with the process in other environment.
Customer needs to know the exact reason why the times are high in Solaris
The same code has been tested on a machine with Red Hat and times are much better, around 6 times faster.


Linux log:

Parsing WKB data time: 2
Total time for identifier 8: 2
Access time: 724

Solaris log:

Parsing WKB data time: 351
Total time for identifier 8: 353
Something wrong with identifier 8 and description i
Access time: 13924

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms