Go Down

Topic: Gobetwino is running very slow after a few hours - anyone else had this? (Read 2 times) previous topic - next topic

MikMo

Appending text to the end of a file requires you to open the file, i'm currently investigating if that actually involves reading the entire file.

The filehandeling involved with the RFLIN command do read the entire file every time the command is isued. I read all the lines of the file into a string array to be able to get a specific line from the file.

The large amount of text in the two textboxes might cause problems. I hope my test's will tell my if that is what is going on.

I will change things in the upcoming version so the textboxes only hold the last 100 or so lines to eliminate this as a potential problem.

kenny_devon

Hi Mikmo,

Some further data for you.

I left a session running two hours ago; When i returned, the problem had also returned with similar symptoms: input window running slowly, fan on - no duplication this time though.

I called up Task Manager, and found that GBT was using more than 50% of cpu. Memory usage was 51 Megabytes!!!! Page faults were up to 60,000,000!!!

I unplugged the USB to the Arduino. The outputs stopped immediately of course, but the input screen is still processing the inputs that must have been stacked up in the input buffer - it's now 30 minutes since I unplugged  and its still going!!!

This confirms your memory theory I think.

What is your current estimate of when the next version will be released? I would like to continue using GBT if possible, but I cant wait more than a month.

I have a few suggestions for you for the next version:

  • have a command type, like RFLIN, but which reads fixed length records - this could be opened for random access, and would thereby avoid the need to read from the start each time. Open it for shared access if possible.
  • have a new command, similar to LGFIL, which anticipates the need to constantly update the same file. Keep it open for appending until the user issues another command signalling that he needs access to it, at which point you can close it.

  • allow for the deletion of command types

  • allow for some customization of your own log - this would in many cases eliminate the need for a separate user log file - they could simply extract their data from the system log



Regards
kenny

MikMo

A quick suggestion:

Try to disable "Show status messages" on the first tab in the settings dialog"

The (huge) memory usage could be the textboxes or the file access. If it is the file access then it's not easy to fix. It' really more a Windows problem than a GoBetwino problem.

Next version probably will not be ready in a month. It's vacation time and i'm away for a couple of weeks from this weekend.

Thanks for the suggestions, i will consider them.

Mikael

kenny_devon

Hi Mikael

Started another test before I had your latest reply - ran it without the GBT status window and without the internal GBT logging - everything running fine with my files after 8 hours.

Now I'll add back the status window and see what happens.
Kenny

MikMo

That is good news. The textbox issue will be so much simpler to fix than the memory issue.

When i'm back home i will look at a solution.

Thanks for testing.

Mikael

Go Up