Page 3 of 3 FirstFirst 123
Results 21 to 22 of 22

Thread: girder coroutine handling

  1. #21
    Join Date
    May 2004
    Darmstadt Germany


    Just for your information: After my solution from above is in place girder's performance lack decreased. To search for further improvements, I made some observations:
    Up to now all the > 50 requests have been sent to the corresponding system (my broadband router) all to the same time. And the callbacks were comming back like a bow wave. melting down this hill took a lot of the computing power and other side executions had been blocked. This lead for example my TV application freeze for some seconds and simple use cases like channel switching or menu navigating with the remote becomes unbearable in this time.
    My solution: I changed the way how the requests are sent. All request data are now writen into a queue table and an independent queue handler function sends out the requests one after the other, waiting until the callback returns before sending the next request. The handler is called ever 300ms as long as there are requests in the queue and stops repeating when the queue is empty. The time for releaseing all requests is longer than before but CPU load is deferred and the 300ms between the requests gives girder enough time to execute other realtime relevant things (like my TV app).

    I hope this helps others who are dealing with similar problems.
    Last edited by mhund; January 29th, 2017 at 04:26 AM.

  2. #22


    Hi mhund,

    This sounds interesting, any chance you could upload a working example of this?

    I have learned at lot of programing etc. using Girder but unfortunately a lot of times it has been a frustrating and time consuming process. I think the steep learning curve a lot of Girder userís faces could be reduced if more users uploaded working example and code. It would surely have help me!



Page 3 of 3 FirstFirst 123

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts