From malsburg at gmail.com  Fri Feb 10 13:18:38 2012
From: malsburg at gmail.com (Titus von der Malsburg)
Date: Fri, 10 Feb 2012 13:18:38 +0100
Subject: [Rd] Creating XML document extremely slow
Message-ID: <CAM+LvrA9pWspU2qTMf4dJTbxFZzS9waDLTbHtHU=0GiJYwD4dA@mail.gmail.com>

Hi list,

I'm using the package XML to create a simple XML document.
Unfortunately constructing the XML tree is extremely slow.  My code
(see below) adds only about 100 nodes per second on an Intel i5
machine.  There's clearly something wrong but I don't see what.

Here's a sample of the XML document:

  <?xml version="1.0" encoding="utf-8"?>
  <MarkerSet xmlns="http://www.brainproducts.com/MarkerSet">
   <SamplingRate>512.032770097286</SamplingRate>
   <SamplingInterval>1.953</SamplingInterval>
   <Markers>
    <Marker>
     <Type>Stimulus</Type>
     <Description>prr_156</Description>
     <Position>397497</Position>
     <Points>1</Points>
     <Channel>All</Channel>
    </Marker>
    ...
   </Markers>
  </MarkerSet>

There are about 500 very similar marker tags.  Here's the part of the
code that is particularly slow (x is a character, y is an integer,
both have a length of about 500):

  markernode <- xmlNode('Markers')
  for(i in 1:length(t)){
    markernode <- addChildren(markernode, xmlNode('Marker',
             xmlNode('Type', 'Stimulus'), xmlNode('Description', x[i]),
             xmlNode('Position', y[i]), xmlNode('Points', 1),
             xmlNode('Channel', 'All')))
  }

Looks pretty harmless to me.  Any suggestion about how I can speed
this up are most welcome!

  Titus



[Rd] Creating XML document extremely slow
Titus von der Malsburg