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@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to