[Rd] Creating XML document extremely slow

From: Titus von der Malsburg <malsburg_at_gmail.com>
Date: Fri, 10 Feb 2012 13:18:38 +0100


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



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 10 Feb 2012 - 12:22:38 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 15 Feb 2012 - 13:50:16 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive