I’ve no idea if this could help or even if this may cause worse problems with a 
DG, so just a thought, but have you tested with Lock Screen, Lock Messages 
and/or Lock Updates while the repeat is processing?

Failing that, I would try disabling each command in turn to find out if just 
one of them is causing the worst problem.

Paul

> On May 5, 2020, at 13:38, Paul Dupuis via use-livecode 
> <use-livecode@lists.runrev.com> wrote:
> 
> I have a datagid operation that should be fast that is taking a long time and 
> I don't understand why.
> 
> I use a datagrid to display a table of data as part of an analysis. The 
> columns are file names and the rows are selected phrases found in those 
> files. The first column is the list of phrases (162 in this example). The 
> remaining columns are all the file name (254 in this example). So each cell 
> (2 to 254) represents a count of the number of times the phrase (in column 1 
> of the row) was found the the file that column represents.
> 
> I have the following code:
> 
>   set the dgColumnWidth[tRowColumnName]      of grp "rwMatrixObj_DataGrid" to 
> 200
>   set the dgColumnAlignment[tRowColumnName]  of grp "rwMatrixObj_DataGrid" to 
> "left"
>   set the dgColumnSortType[tRowColumnName]   of grp "rwMatrixObj_DataGrid" to 
> "text"
>   set the dgColumnIsEditable[tRowColumnName] of grp "rwMatrixObj_DataGrid" to 
> false
>   repeat with i=2 to the number of lines in tColumnNames
>     put line i of tColumnNames into tColumnName
>     set the dgColumnTooltip[tColumnName]    of grp "rwMatrixObj_DataGrid" to 
> tColumnName
>     set the dgColumnWidth[tColumnName]      of grp "rwMatrixObj_DataGrid" to 
> 75
>     set the dgColumnAlignment[tColumnName]  of grp "rwMatrixObj_DataGrid" to 
> "right"
>     set the dgColumnSortType[tColumnName]   of grp "rwMatrixObj_DataGrid" to 
> "numeric"
>     set the dgColumnSortDirection[tColumnName] of grp "rwMatrixObj_DataGrid" 
> to "descending"
>     set the dgColumnIsEditable[tColumnName] of grp "rwMatrixObj_DataGrid" to 
> false
>   end repeat
> 
> The first time this executes it takes just under 3 minutes for this size of 
> data (254 columns). However, the second and each successive time in the same 
> session it takes just under 30 minutes!
> 
> Any idea why it would take so long?
> 
> Thoughts on how to speed it up?
> 
> I realize that I could use: 'set the dgProp["column widths"] of grp <DG> to 
> <returnDelimitedListOfWidths>' as a single set action vs a loop where I am 
> using 'set the dgColumnWidth[tColumnName] of grp <DG> to <singleWidth>'.
> 
> However, there are only Datagid properties so set attributes for ALL columns 
> for alignments, visibility, widths, and labels. Therefore, I have to use a 
> loop anyway to set the tooltip, sorttype, sortdirection, end editability
> 
> The column names (in the variable tColumnNames) are file names. Some are long 
> (longest is 113 characters) and some contain assorted punctuation. I wonder 
> is the column NAMES should be somehting plain ASCII and short and the column 
> LABELS contain the file names?
> 
> This is all in LiveCode 9.5.1 on Windows. Timing is approximately the same in 
> a Standalone or the IDE.
> 
> Anyway, if anyone has a good idea of what is taking this 30 minutes, ideas 
> would be very welcome!
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription 
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to