More on IDE vs Standalone Performance issues

Bob Sneidar bobs at twft.com
Tue Nov 9 13:26:39 EST 2010


I think you are on to something there Peter. This may be something for the bug reports. Is there a test stack with the debug written into it that you could post so we can try it on our end? 

Bob


On Nov 9, 2010, at 10:13 AM, Peter Haworth wrote:

> Spent the last day or so trying to get some data to track this problem down by inserting code to write details of the time taken for various chunks of code to execute into a text file so I could see what was going on.  I narrowed it down to a command that loads the text property of an option button by executing an SQLite SELECT statement that is defined in a custom property for the button, then setting the text property of the button to the resulting data.
> 
> I executed the code using exactly the same data in the same database both in the IDE and the standalone.
> 
> Here's a snippet from the debug file relating to the loading of one option button in the IDE:
> 
> Starting loadOneList button "DB_RcvblsAc"
> 	0	Start processing SELECT...
> 	1	End processing SELECT ...
> 	1	Start setting menu text
> 	1	End setting menu text
> 
> The number at the start of each line is the number of milliseconds since the start of the loadOneList command.
> 
> Now here is a same snippet taken from the debug file created by the standalone for the same button:
> 
> Starting loadOneList button "DB_RcvblsAc"
> 	731	Start processing SELECT...
> 	976	End processing SELECT...
> 	976	Start setting menu text
> 	2196	End setting menu text
> 
> As you can see, the time taken between each display is hundreds of times more than in the IDE in every case.  It's not limited to just one snippet of code, it's universal.  Getting through loadOneList takes roughly 1 millisecond in the IDE and more than 2 seconds in the standalone.
> 
> Here's the code that is executed between the "Starting loadOneList" message and the "Start processing SELECT" message:
> 
> if pselection is empty then
>      if "listValues" is among the lines of the customKeys of myControl then
>         put the listValues of myControl into tlistspec
>      else
>         put the text of myControl into tdata
>      end if
>   else
>      put pselection into tlistspec
>   end if
>   if tlistspec is not empty then
>      repeat for each line myLine in tlistspec
> 
> I stepped through the code in debug to make sure it didn't head off in unexpected directions (eg setProp/getProp handlers) and there was nothing of that nature. The writing of the debug information takes some time but that should be the same overhead in the IDE and the standalone.
> 
> Help!
> 
> Pete Haworth
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list