mrglavas 2004/02/11 08:57:28
Modified: java/src/org/apache/xerces/parsers XML11Configuration.java
BasicParserConfiguration.java
java/src/org/apache/xerces/util
ParserConfigurationSettings.java
java/src/org/apache/xerces/dom DOMConfigurationImpl.java
Log:
Performance: Replace some Vectors with unsynchronized
ArrayLists. We don't require thread-safety in our
configurations so this should speed us up a bit on reset.
Revisit for replacing Hashtables with unsynch'd
Hashmaps. Hashmaps allow null entries so we need to
be careful in how we use them.
Revision Changes Path
1.15 +22 -21
xml-xerces/java/src/org/apache/xerces/parsers/XML11Configuration.java
Index: XML11Configuration.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/XML11Configuration.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- XML11Configuration.java 26 Jan 2004 17:28:10 -0000 1.14
+++ XML11Configuration.java 11 Feb 2004 16:57:28 -0000 1.15
@@ -58,6 +58,7 @@
package org.apache.xerces.parsers;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Vector;
@@ -294,13 +295,13 @@
protected Locale fLocale;
/** XML 1.0 Components. */
- protected Vector fComponents;
+ protected ArrayList fComponents;
/** XML 1.1. Components. */
- protected Vector fXML11Components = null;
+ protected ArrayList fXML11Components = null;
/** Common components: XMLEntityManager, XMLErrorReporter, XMLSchemaValidator
*/
- protected Vector fCommonComponents = null;
+ protected ArrayList fCommonComponents = null;
/** The document handler. */
protected XMLDocumentHandler fDocumentHandler;
@@ -450,15 +451,15 @@
// create a vector to hold all the components in use
// XML 1.0 specialized components
- fComponents = new Vector();
+ fComponents = new ArrayList();
// XML 1.1 specialized components
- fXML11Components = new Vector();
+ fXML11Components = new ArrayList();
// Common components for XML 1.1. and XML 1.0
- fCommonComponents = new Vector();
+ fCommonComponents = new ArrayList();
// create storage for recognized features and properties
- fRecognizedFeatures = new Vector();
- fRecognizedProperties = new Vector();
+ fRecognizedFeatures = new ArrayList();
+ fRecognizedProperties = new ArrayList();
// create table for features and properties
fFeatures = new Hashtable();
@@ -886,20 +887,20 @@
// forward to every XML 1.0 component
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.setFeature(featureId, state);
}
// forward it to common components
count = fCommonComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fCommonComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fCommonComponents.get(i);
c.setFeature(featureId, state);
}
// forward to every XML 1.1 component
count = fXML11Components.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fXML11Components.elementAt(i);
+ XMLComponent c = (XMLComponent) fXML11Components.get(i);
try{
c.setFeature(featureId, state);
}
@@ -924,19 +925,19 @@
// forward to every XML 1.0 component
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.setProperty(propertyId, value);
}
// forward it to every common Component
count = fCommonComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fCommonComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fCommonComponents.get(i);
c.setProperty(propertyId, value);
}
// forward it to every XML 1.1 component
count = fXML11Components.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fXML11Components.elementAt(i);
+ XMLComponent c = (XMLComponent) fXML11Components.get(i);
try{
c.setProperty(propertyId, value);
}
@@ -962,7 +963,7 @@
protected void reset() throws XNIException {
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.reset(this);
}
@@ -975,7 +976,7 @@
// reset common components
int count = fCommonComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fCommonComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fCommonComponents.get(i);
c.reset(this);
}
@@ -989,7 +990,7 @@
// reset every component
int count = fXML11Components.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fXML11Components.elementAt(i);
+ XMLComponent c = (XMLComponent) fXML11Components.get(i);
c.reset(this);
}
@@ -1398,7 +1399,7 @@
if (fComponents.contains(component)) {
return;
}
- fComponents.addElement(component);
+ fComponents.add(component);
addRecognizedParamsAndSetDefaults(component);
} // addComponent(XMLComponent)
@@ -1416,7 +1417,7 @@
if (fCommonComponents.contains(component)) {
return;
}
- fCommonComponents.addElement(component);
+ fCommonComponents.add(component);
addRecognizedParamsAndSetDefaults(component);
} // addCommonComponent(XMLComponent)
@@ -1434,7 +1435,7 @@
if (fXML11Components.contains(component)) {
return;
}
- fXML11Components.addElement(component);
+ fXML11Components.add(component);
addRecognizedParamsAndSetDefaults(component);
} // addXML11Component(XMLComponent)
1.21 +10 -10
xml-xerces/java/src/org/apache/xerces/parsers/BasicParserConfiguration.java
Index: BasicParserConfiguration.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/BasicParserConfiguration.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- BasicParserConfiguration.java 26 Jan 2004 17:28:10 -0000 1.20
+++ BasicParserConfiguration.java 11 Feb 2004 16:57:28 -0000 1.21
@@ -58,9 +58,9 @@
package org.apache.xerces.parsers;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Locale;
-import java.util.Vector;
import org.apache.xerces.impl.Constants;
import org.apache.xerces.util.ParserConfigurationSettings;
@@ -190,7 +190,7 @@
protected Locale fLocale;
/** Components. */
- protected Vector fComponents;
+ protected ArrayList fComponents;
// handlers
@@ -236,11 +236,11 @@
super(parentSettings);
// create a vector to hold all the components in use
- fComponents = new Vector();
+ fComponents = new ArrayList();
// create storage for recognized features and properties
- fRecognizedFeatures = new Vector();
- fRecognizedProperties = new Vector();
+ fRecognizedFeatures = new ArrayList();
+ fRecognizedProperties = new ArrayList();
// create table for features and properties
fFeatures = new Hashtable();
@@ -292,7 +292,7 @@
if (fComponents.contains(component)) {
return;
}
- fComponents.addElement(component);
+ fComponents.add(component);
// register component's recognized features
String[] recognizedFeatures = component.getRecognizedFeatures();
@@ -482,7 +482,7 @@
// forward to every component
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.setFeature(featureId, state);
}
// save state if noone "objects"
@@ -502,7 +502,7 @@
// forward to every component
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.setProperty(propertyId, value);
}
@@ -540,7 +540,7 @@
// reset every component
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.reset(this);
}
1.8 +8 -7
xml-xerces/java/src/org/apache/xerces/util/ParserConfigurationSettings.java
Index: ParserConfigurationSettings.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/util/ParserConfigurationSettings.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ParserConfigurationSettings.java 1 Dec 2003 05:06:18 -0000 1.7
+++ ParserConfigurationSettings.java 11 Feb 2004 16:57:28 -0000 1.8
@@ -57,6 +57,7 @@
package org.apache.xerces.util;
+import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Vector;
@@ -92,13 +93,13 @@
// data
/** Recognized properties. */
- protected Vector fRecognizedProperties;
+ protected ArrayList fRecognizedProperties;
/** Properties. */
protected Hashtable fProperties;
/** Recognized features. */
- protected Vector fRecognizedFeatures;
+ protected ArrayList fRecognizedFeatures;
/** Features. */
protected Hashtable fFeatures;
@@ -122,8 +123,8 @@
public ParserConfigurationSettings(XMLComponentManager parent) {
// create storage for recognized features and properties
- fRecognizedFeatures = new Vector();
- fRecognizedProperties = new Vector();
+ fRecognizedFeatures = new ArrayList();
+ fRecognizedProperties = new ArrayList();
// create table for features and properties
fFeatures = new Hashtable();
@@ -152,7 +153,7 @@
for (int i = 0; i < featureIdsCount; i++) {
String featureId = featureIds[i];
if (!fRecognizedFeatures.contains(featureId)) {
- fRecognizedFeatures.addElement(featureId);
+ fRecognizedFeatures.add(featureId);
}
}
@@ -194,7 +195,7 @@
for (int i = 0; i < propertyIdsCount; i++) {
String propertyId = propertyIds[i];
if (!fRecognizedProperties.contains(propertyId)) {
- fRecognizedProperties.addElement(propertyId);
+ fRecognizedProperties.add(propertyId);
}
}
1.20 +8 -7
xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java
Index: DOMConfigurationImpl.java
===================================================================
RCS file:
/home/cvs/xml-xerces/java/src/org/apache/xerces/dom/DOMConfigurationImpl.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- DOMConfigurationImpl.java 29 Jan 2004 21:13:09 -0000 1.19
+++ DOMConfigurationImpl.java 11 Feb 2004 16:57:28 -0000 1.20
@@ -58,6 +58,7 @@
package org.apache.xerces.dom;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Vector;
@@ -200,7 +201,7 @@
protected SymbolTable fSymbolTable;
/** Components. */
- protected Vector fComponents;
+ protected ArrayList fComponents;
protected ValidationManager fValidationManager;
@@ -248,8 +249,8 @@
super(parentSettings);
// create storage for recognized features and properties
- fRecognizedFeatures = new Vector();
- fRecognizedProperties = new Vector();
+ fRecognizedFeatures = new ArrayList();
+ fRecognizedProperties = new ArrayList();
// create table for features and properties
fFeatures = new Hashtable();
@@ -302,7 +303,7 @@
}
fSymbolTable = symbolTable;
- fComponents = new Vector();
+ fComponents = new ArrayList();
setProperty(SYMBOL_TABLE, fSymbolTable);
fErrorReporter = new XMLErrorReporter();
@@ -1027,7 +1028,7 @@
int count = fComponents.size();
for (int i = 0; i < count; i++) {
- XMLComponent c = (XMLComponent) fComponents.elementAt(i);
+ XMLComponent c = (XMLComponent) fComponents.get(i);
c.reset(this);
}
@@ -1081,7 +1082,7 @@
if (fComponents.contains(component)) {
return;
}
- fComponents.addElement(component);
+ fComponents.add(component);
// register component's recognized features
String[] recognizedFeatures = component.getRecognizedFeatures();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]