... just discovered how terribly unoptimized code can be. Changed the delete code snippet from the below example to the following: delete body.children()[count]; // takes 53636ms and then the following: delete spans[count]; // takes 852ms
Obviously constructing a child array each time in the loop on a large list of children is hugely inefficient. --- In [email protected], "polestar11" <[EMAIL PROTECTED]> wrote: > > Hi there > > I'm busy crunching through xml data, stripping out nodes that don't > have children. Perhaps its not the best way to do things, but I use a > for loop that checks and deletes any item with no children. I've > always found XML delete tricky and to do this I reference the parent > which finds the child index and deletes the child. > On a file of 10000+ items execution time is 600ms without the delete. > With the delete execution time is 52919ms! > > I'm off to find another delete function ... > > for each(span in body.span) { > if(span.children().length() == 0) { > delete span.parent().children()[span.childIndex()]; > } > else { > [EMAIL PROTECTED] = SPAN_PREFIX + id++; > [EMAIL PROTECTED] = "itemClicked('"[EMAIL PROTECTED]"', > AIR.itemSelected)"; > [EMAIL PROTECTED] = span.attribute("class"); > } > } >

