Jump to content

CPeng

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by CPeng

  1. You mentioned that the modules are communicating with each other via messages. But have you separated the part of that receives and responds to the messages and the part that does the heavy lifting?

    Since you are concerned about the response time from the module, I'm guessing the response you are concerned about is not the result of this heavy processing that module is doing, otherwise you'd just have to wait for it to finish, unless you want the last calculated value from it.

    The example you shared has a SubVI in a Main VI loop. If the SubVI takes a long time to pass the control back to the Main VI, you should have a different loop in this Main VI that is supposed to handle messages/events.

    About measuring time, it is a good idea to use the Get Date/Time in Seconds to read the current instead of the Tick Count (ms) as its value can roll over during execution, which will throw off your measurements.

    Yes I have separated the part that receives the messages from the part that does the heavy lifting. But at some point you have to get information into the loop that is doing the heavy lifting. That is what my question is centered around.

    I explained the code I posted poorly. The heavy lifting is done in the loop that contains the 500ms wait. The subvi is waiting for a message. So the example code is simulating a case where the module gets a command every 1.5 seconds that takes 500ms to process. Which ends up being a 33% workload for the module.

    Thanks for the tick count warning!

    It really shouldn't matter that much. LabVIEW code is compiled regardless of whether you're in the development environment or the run-time environment. Are you trying to determine differences between different machines?

    The reason I can not use the development environment to capture performance is because we have about 50 machines running in different conditions. I want to detect the workload of each module as it is running off site.

  2. The design uses modules which communicate to each other by messages. The module waits for a message in a subvi and when it receives a message it executes the command in the main vi. My goal is to see how much time is spent waiting on the next message and how much time module spends executing code. If the module is always executing code there is a problem since it will be slow responding to messages.

    I attached a very stripped down version which includes my timing code (which works, I just hope there's a better way). I also included another VI which I was thinking would lead to a solution, but it doesn't work as I hoped.

    Code is LV 2011.

    performance statistics.zip

  3. So the next Google AI Challenge is ramping up. This year it's an ant simulation where you write a program to compete against others in a simulation ant colony.

    movief.gif

    (Source: http://ai-contest.com/forum/viewtopic.php?f=21&t=1312)

    If you aren't familiar here is their website from last year which was an interplanetary war simulation: http://ai-contest.com

    I would like to add LabVIEW to the list of supported languages this year.

    I started an thread here if you want to check out the progress:

    https://github.com/a...issues#issue/32

    Please jump in if you have anything to add..I do not have much experience with LabVIEW on Linux.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.