Paul Looney wrote:

> If it is taking 3 seconds now, processing from a variable should take > (far) less than one second. If that is so, then you will not need to > worry about covering the "hole".
If 3 seconds was the case when the field is displayed, I would not have even brought it up. It's 3 seconds if the field is made invisible. It's over a minute (about 3 seconds PER RECORD) if the field is showing.
> I do second Richard's suggestion about moving from XML; it is really > slow, takes more memory for code, takes more memory for data, etc. - > worth asking the vendor if it is necessary.

Some vendors won't listen. WebMerge works with a lot of merchant data feeds, and some of the vendors are so fixated on the fashionability of XML that even the argument about the impact in their service usage doesn't sway them.

In my case, a) the vendor WON'T change and b) I only have to generate an XML 
file.  I don't have to read or process it.  To me, I just take a csv text file 
and then add all the XML bits and spit it out.  Other than the declarations at 
the top and bottom of the file, every record simply takes three items off each 
line and wraps XML tags around them before outputing them.  Really pretty 
simple.

> Also, are you using "repeat with" where you could be using "repeat > for"? The latter is about ten times faster.

Paul raises a very important point here; "repeat for each" is a performance godsend.

One great thing about this list is that if you'll post the code you'll have a small army of seasoned pros rewrite it for you for free. :)

Len, can you post that handler?

Ask and ye shall receive.  Here's the "Convert" mouseUp script:

   
#####################################################################################

   # Clear the output field we're going to use and turn if off (for performance 
reasons)
put empty into field "xmlOutput" put xmlFileHeader() after field "xmlOutput"
   set the visible of field "xmlOutput" to false
REPEAT for each line curLine in field "txtInput"
       put the item 1 of curLine into idnum
       put item 2 of curLine into lst_n
       put item 3 of curLine into fst_n
       put item 4 of curLine into day_in
       get xmlWriteNewInmateRecord(idnum, lst_n, fst_n, day_in, tCount)
       get setPercentDone(tCount, ttlLines)
       put "Record " & tCount & " of " & ttlLines into field "progressText"
       put tCount + 1 into tCount
   END REPEAT
# Write the closing tag
   put "</RCATS>" & cr after field "xmlOutput"
   set the visible of field "xmlOutput" to true

#############################################################################################

That's the "meat" of the handler.  Hopefully most of it will be 
self-explanitory.  The only part that might not be obvious is the setPercentDone function 
which is given a record number and total records and update a progress bar.  Hope that 
sheds some light.

Thanks again,

Len

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to