Comment mesurer les performances des I/O (lecture d'un fichier XML)?
Bonjour,
J'ai une application qui manipule des fichiers XML. Pour connaitre sa performance, j'ai effectué le test suivant:
1) Premièrement, je parse mes documents et je ne fais rien.
Code:
1 2 3 4 5 6 7
| XMLStreamReader xmlsr = xmlif.createXMLStreamReader(inputStream);
loop: while (true) {
int eventType = xmlsr.next();
switch (eventType) {
case XMLEvent.END_DOCUMENT:
break loop;
} |
2) Deuxièmement, je lance mon application
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| loop : while (true) {
try {
eventType = xmlsr.next();
} catch (XMLStreamException e) {
throw new Error(e);
}
switch (eventType) {
case XMLEvent.START_ELEMENT:
doStartElement(xmlsr.getName().getLocalPart(), xmlsr.getNamespaceURI())
break;
case XMLEvent.END_ELEMENT:
doEndElement(xmlsr.getName().getLocalPart(), xmlsr.getNamespaceURI())
break;
....
}
} |
Et là, surprise! Le second algorithme est plus rapide que le premier (environ 10% sur un test qui dure 15 minutes). Je ne trouve pas où est le biais dans ma mesure.
Merci de vote aide.