[Mulgara-svn] r205 - in trunk/src/jar: resolver-store/java/org/mulgara/store/statement/xa tuples/java/org/mulgara/store/tuples
ronald at mulgara.org
ronald at mulgara.org
Thu Mar 1 07:47:56 UTC 2007
Author: ronald
Date: 2007-03-01 01:47:55 -0600 (Thu, 01 Mar 2007)
New Revision: 205
Modified:
trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java
trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnorderedProjection.java
Log:
Avoid creating Throwable instances unless they will get used. Creating these
is expensive because of the stack-trace. This fix results in a 30% - 40%
decrease of query times. This closes MGR-47 .
Modified: trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java
===================================================================
--- trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java 2007-03-01 07:35:36 UTC (rev 204)
+++ trunk/src/jar/resolver-store/java/org/mulgara/store/statement/xa/TripleAVLFile.java 2007-03-01 07:47:55 UTC (rev 205)
@@ -1809,7 +1809,7 @@
private final class TuplesImpl implements StoreTuples {
// keep a stack trace of the instantiation of this object
- private Throwable stack = new Throwable();
+ private Throwable stack = logger.isDebugEnabled() ? new Throwable() : null;
private List objectIds = new ArrayList();
private long[] startTriple;
@@ -2272,7 +2272,7 @@
copy.variables = getVariables();
- copy.stack = new Throwable();
+ copy.stack = logger.isDebugEnabled() ? new Throwable() : null;
copy.objectIds = new ArrayList(objectIds);
copy.objectIds.add(new Integer(System.identityHashCode(this)));
Modified: trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnorderedProjection.java
===================================================================
--- trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnorderedProjection.java 2007-03-01 07:35:36 UTC (rev 204)
+++ trunk/src/jar/tuples/java/org/mulgara/store/tuples/UnorderedProjection.java 2007-03-01 07:47:55 UTC (rev 205)
@@ -201,7 +201,9 @@
if (columnMapping[column] == ABSENT_COLUMN) {
- logger.info(getVariables()[column] + " is never bound", new Throwable());
+ if (logger.isInfoEnabled()) {
+ logger.info(getVariables()[column] + " is never bound", new Throwable());
+ }
return true;
}
More information about the Mulgara-svn
mailing list