Greetings all,

I've got instances of needing to create very large sets of tDataSourceRows. It's VERY slow. Standard object creation is FAR faster. You can see it with the following code assuming there's a cTextEdit1 sibling to display the time results.

Object oBtnStruct1 is a Button
Set Location to 281 287
Set Label to "Struct Create"
Set Focus_Mode to Pointer_Only

// fires when the button is clicked
Procedure OnClick
Integer i
Integer j
tDataSourceRow[] theData
DateTime dtCurrent

Send Delete_Data to oTextEdit1
Move (CurrentDateTime()) to dtCurrent
Send AppendTextLn to oTextEdit1 ("Starting test of 100,000 rows of 6 columns at " + String(dtCurrent))
For i from 0 to 999999
For j from 0 to 5
Move ( "Row " + String(i) + " column " + String(j)) to theData[i].sValue[j]
Loop
Loop
Move (CurrentDateTime()) to dtCurrent
Send AppendTextLn to oTextEdit1 ("Structures created: " + String(dtCurrent))End_Procedure

End_Object
Looks like something that may need to be profiled. Depending on the state of kernel memory layout, it can take from just over 24 seconds to 1 minute 8 sec.

Best regards,
Eric