LabWindows/CVI timer runs faster than system time in multithreaded application on Win 2000

The same application runs well on Win NT

This is a rarely seen and unconfirmed problem that you are seeing with the Timer function. I have posted some information as well as another Developer Exchange user posting a workaround at the following link that you should take a look at:
http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HExpertOnly=&HFORCEKWTID=11348:5&HOID=506500000008000000AE1F0000

Similar Messages

  • Is LabWindows​/CVI running faster than LabView?

    A colleague told me that LabWindows/CVI is much faster than LabView. And I make a mistake if I would go on using LabView. So he tried to convince me of LabWindows/CVI. What are your experiences? Which program is faster: LabWindows/CVI or LabView?
    mara

    It all depends on what you're doing. I've used both (LabWindows since v1 and LabVIEW since v3), and in my instrument control and daq applications, I don't see any. I think LabVIEW is faster to develop in and that's the main advantage for me. NI has a benchmark here if that helps at all. Either LabVIEW or LabWindows is a good choice. If you're an experienced C programmer, you might be better off sticking with the more familar CVI but if you're not, LabVIEW should work just fine.

  • LabWindows/CVI 2009 Run-Time Engine update

    I wanted to let everyone know that NI has released an udpated CVI 2009 Run-Time Engine. Information on what bug(s) this update fixes can be found here. If you are currently not using the CVI 2009 Run-Time Engine, you do not need to install this update.
    This is an updated installation of the CVI Run-Time Engine, not a patch. If you download and install this update it will upgrade whichever version of the CVI Run-Time Engine you currently have to version 9.1.0.428 (CVI 2009 released with version 9.1.0.427). One way to find out which version of the CVI Run-Time Engine you have installed is to view the version number of c:\windows\system32\cvirte.dll. If you install version 9.1.0.428, any installer distributions that you create from any version of the CVI ADE will include version 9.1.0.428.
    If you have not yet installed LabWindows/CVI 2009, it's recommended that you install this update, either before or after you install CVI 2009.
    Luis

    To be clear, the original problem that you reported ("Attempt to free pointer to memory not allocated by malloc() or calloc()") might very have been the problem that this patch fixed, which was in fact new to 2009. But that problem only happens if there were actual plots in the graph.
    However, after looking at the "dynamic memory is corrupt" isse some more, it turns out that it is actually expected behavior, believe it or not. This is a limitation of easytab controls, caused by how they use callback chaining in their implementation. Whenever a panel or a control has its callback chained, you cannot change the callback, or make a copy of it after the chaining takes place. This is described in the EasyTab_ConvertFromCanvas function help ("...For the same reasons, do not call DuplicatePanel or DuplicateCtrl on any of these panels or controls after the Easy Tab control has been created.").
    As you probably have read elsewhere, easytab controls are quite obsolete. They were a stopgap "solution" to the problem of there not being a native tab control in the CVI user interface library. Native tab controls were finally added in CVI 8.0, and so we recommend that, if possible, users update their code to use these instead.
    Luis

  • Can this class run fast than Hotspot ?

    My case in Sun hotspot is almost 2 times fast than jRockit. It's very strange.
    package com.telegram;
    public class byteutils {
         public final static byte[] bytea = { 48, 49, 50, 51, 52, 53, 54, 56, 57,
                   58, 65, 66, 67, 68, 69, 70 };
         public byteutils() {
              super();
         * convert length = 2L letters Hexadecimal String to length = L bytes
         * Examples: [01][23][45][67][89][AB][CD][EF]
         public static byte[] convertBytes(String hexStr) {
              byte[] a = null;
              try {
                   a = hexStr.getBytes("ASCII");
              } catch (java.io.UnsupportedEncodingException e) {
                   e.printStackTrace();
              final int len = a.length / 2;
              byte[] b = new byte[len];
              int idx = 0;
              int h = 0;
              int l = 0;
              for (int i = 0; i < len; i++) {
                   h = a[idx++];
                   l = a[idx++];
                   h = (h < 65) ? (h - 48) : (h - 55);
                   l = (l < 65) ? (l - 48) : (l - 55);
                   // if ((h < 0) || (l < 0)) return null;
                   b[i] = (byte) ((h << 4) | l);
              a = null;
              return b;
         public static String convertHex(byte[] arr_b) {
              if (arr_b == null)
                   return null;
              final int len = arr_b.length;
              byte[] byteArray = new byte[len * 2];
              int idx = 0;
              int h = 0;
              int l = 0;
              int v = 0;
              for (int i = 0; i < len; i++) {
                   v = arr_b[i] & 0xff;
                   l = v & 0xf;
                   h = v >> 4;
                   byteArray[idx++] = bytea[h];
                   byteArray[idx++] = bytea[l];
              String r = null;
              try {
                   r = new String(byteArray, "ASCII");
              } catch (java.io.UnsupportedEncodingException e) {
                   e.printStackTrace();
              } finally {
                   byteArray = null;
              return r;
         public static void main(String[] argv) {
              byte[] a = new byte[0x10000];
              for (int c = 0; c < 0x10000; c++) {
                   a[c] = (byte) (c % 256);
              String s = "";
              int LOOP = 10000;
              long l = System.currentTimeMillis();
              for (int i = 0; i < LOOP; i++) {
                   s = convertHex(a);
                   a = convertBytes(s);
              l = System.currentTimeMillis() - l;
              double d = l / (double) LOOP;
              System.out.println("" + d + "ms.");
    }

    Thanks! Your code is essentially a microbenchmark testing the performance of sun.nio.cs.US_ASCII.Decoder.decodeLoop() and encodeLoop(), with ~35% and ~30% spent in those two methods respectively. I have verified the behavior (i.e. Sun is faster than JRockit). Due to the microbenchmark nature, it may not affect a larger running program, but it may merit a closer look regardless. I have forwarded to the JRockit perf team for analysis.
    -- Henrik

  • Why does audio run faster than video after burning my iMovie project in iDVD?

    I created a project in iMovie HD and shared it to iDVD 6. When I played the finished disc, I noticed that the audio ran much faster than the video. I rechecked my movie and audio clips in iMovie to make sure they were matched correctly, and I saw no problem there. I burned the disc again through iDVD and got the same problem when I played it in a DVD player.
    I have never had this problem before and I've been working on dvd projects all week. I think the only difference with this movie project is that I had movie clip audio and background audio playing at the same time at some parts of the movie, but I don't know if that's the issue.
    Any suggestions?

    Hi
    And just to add to OT-s brilliant suggestions - really - Do a Save as a DiskImage ! IMPORTANT !
    • When free space goes down on the Start-Up hard disk to 5Gb or less - strange things occurs - Yes even audio out of sync - to not working DVD at all.
    I secure a minimum of 25Gb free space when using SD-video to iDVD - if HD material I would guess 4-5 times more as it has to be re-calculated into SD and this needs space.
    DVD - is as standard SD-Video (as old time CRT-TVs) - even if You use DVD-Studio Pro or iDVD or Roxio Toast™ - That's what it is and using HD material doesn't improve a bit (may be even give a lesser result)
    Yours Bengt W

  • Typing faster than system can keep up in mountain lion

    Has anyone noticed that you can type faster than the system can keep up with since upgrading to OSX Mountain Lion? I am mainly seeing this issue in text boxes on websites but sometimes will happen when using apps like Notes, Word, or Pages.

    It may just be a problem with the OS. I would not worry about it though. Apple will have an update or a patch soon. I just recommend that you watch for any updates from apple.
    I hope that helps.

  • Can anyone confirm Safari-4 runs "faster" than S4BETA?

    Just like to know if my holding-out (want the blue progress bar) is costing me speed and features? That is-- is the Safari4 better/faster than Safari4-Beta?
    Thanks!

    Hi again Steve
    I have the beta running on my MacBook Pro and the final on my iMac. I don't see a difference, and I do like the blue progress bar.
    I left the Beta on the MBP due to adverse Network issues specific to the Unibody machine when 10.5.7 was released.

  • Does the .rep report  run faster than the same program in .rdf format

    Hello,
         We have some reports timing out because they take too
    long to bring back results. If we used the .rep file instead of
    the .rdf file, will the reports run faster? Does it take very
    long to compile or is it most likely the SQL needs to be tuned
    for better performance?
    Thanks in Advance..
    Pmoore31

    No, the report will not run faster. It is most likely that you
    need to fine tune the SQL.

  • What can I do if script runs faster than network?

    I've written an inter-application script that moves from InDesign, where it starts in AppleScript, to Photoshop, where the AppleScript runs a JavaScript to perform various tasks.
    It runs beautifully on my laptop at home where I do my development. Yesterday, using myself as guinea pig, I tried it in the office.
    On about the third run, I was horrified to see the ExtendScript Toolkit pop up with an error message (about as welcome as seeing an AppleScript inviting the user to open the Script Editor and fix a script).
    The error message was that app.bringToFront(); was not a valid function.
    This was true in InDesign, which has a different activation function, and I realised that even though my AppleScript had called for Photoshop to activate I was still in InDesign.
    The JavaScript app.bringToFront had been called as well because I had enclosed my code in the Tranberry template.
    So I pressed the stop button on ExtendScript, went back to InDesign and ran the script again. This time it worked as usual.
    Occasionally on our network we spend some time beachball-watching as some communication goes on in the background. So I imagine that the time the error was thrown was on one of those network slowdowns.
    The switch from InDesign to Photoshop did not happen fast enough, but the script ran on and issued a Photoshop JavaScript command while I was still in InDesign.
    In AppleScript such unfortunate communication with users can be avoided using "try... on error" blocks.
    Would there be any error-handling equivalent in JavaScript which would enable me to avoid them being thrown into ExtendScript Toolbox and would give them a friendly message apologising, explaining what had happened and inviting them to try again?

    Also AppleScript has a default timeout of 60 seconds before it wants to execute its next command. If in you case the opening and processing of the image in JavaScript takes any longer than this wrap your call out to Photoshop in a timeout block thus extending the alloted time to whatever you think may be suitable? Like so:
    tell application "Adobe InDesign CS2"
    activate
    tell active document
    set This_Image to image 1 of item 1 of rectangle 1
    set Image_Path to file path of item link of (item 1 of This_Image) as alias
    my Call_Photoshop(Image_Path)
    delay 1 -- same as sleep(1000);
    update item link of (item 1 of This_Image)
    end tell
    end tell
    on Call_Photoshop(Image_Path)
    with timeout of 180 seconds
    tell application "Adobe Photoshop CS2"
    activate
    set display dialogs to never
    open Image_Path
    set ID_Image to the current document
    tell ID_Image
    -- do my stuff
    close with saving
    end tell
    end tell
    end timeout
    end Call_Photoshop

  • MBP 1,1 Running faster than MBP 2,2?

    We have two older MacBook Pros that the kids use.
    One is a first generation MacBook Pro 1,1 (January 2006)
    - Core Duo 2GHz
    - 667 bus
    - 2G RAM
    - ATY Radeon X1600
    - 2MB L2 Cache
    The other is a MacBook Pro 2,2 (late Oct 2006)
    - Core 2 Duo 2.33GHz
    - 667 bus
    - 2G RAM
    - ATY Radeon X1600
    - 4MB L2 Cache
    Both are currently running Snow Leopard 10.6.8
    The MBP 2,2 had been upgraded to Lion but it was so sluggish is has been wiped and set back to Snow Leopard.
    The kids use these two computers often to play Minecraft. The issue is that the 2,2 model, which should easily out perform the 1,1 model at this game, lags badly when playing Minecraft. This makes no sense. It has better processor, twice the L2 Cache. Everything else is essentially the same.
    I have run every diagnostic, DiskWarrior, etc to try and determine what is going on but the 2,2 continues to under perform the lesser model.
    What can I do to make the world right here? Why would the superior system and twice the L2 lag on graphics?

    squidz wrote:
    Yep. I killed the partitions. I did not set it to 35 passes, just erased. If I restart and hold "alt" it no longer shows the Recovery partition or any other than Mac HD. Is there a way to test the HD spin rate or other diagnostic to see why is might be under performing its specs.
    You erased the Macintosh HD or you Erased the Top Level Drive makers Name. Just erasing the Macintosh HD partition does not remove the Recovery HD.
    Ok. None that I know of for Mac.

  • SCTL running faster than 40MHz for FPGA

    There is possibility of executing SCTL on FPGA with derived clock rates like 80Mhz. But I found no detail information about the limitations and precision of FPGA in such resolutions, does anybody have an experience on this?

    What do you mean by timing resolution? 
    If you create a derived clock at 80 MHz, and do all your design in that clock domain, you either WILL or WON'T successfully compile the design when it goes through the xilinx toolchain.  The limiting factor on this is how much work is being done on each iteration of the SCTL.  If you put a wildly complex algorithm in an SCTL and expect it to run at 80MHz, it won't do that (see previous post about pipelining a complex design within an SCTL).  However, if a design compiles at 80MHz, it will ALWAYS run at 80MHz, and will always provide you sampling at 80MHz, as long as your inputs are in that 80MHz domain.  One of the primary draws of FPGA design is that it is deterministic.  If 80MHz is sufficient resolution for your application, you design an FPGA that compiles at 80MHz,  then you should have high confidence that your application will work.  
    Please clarify if I'm not answering the right question.

  • The time on my pre is faster than normal

    when i used the pre in my hometown the time worked fine. i am now at college and still in the same time zone so it is the same exact time as my hometown, but for some reason it runs faster than normal. so ill set it to my computer time then later on in the day it will be like an hour ahead. i dont know what to do, help please.
    Post relates to: Pre p100eww (Sprint)

    I've been having a similar problem. Here's my story:
    My wife and I got Pres on the day they went on sale. About a week later I noticed that the time was fast on both of them.
    Over the next few weeks I tried experimenting with everything I could think of. I tried every combination of setting the network time and zone sliders to on and off, but they still gained about 3 minutes a day.
    At one point I called Sprint. They quickly elevated me to the senior tech person, who was stumped. The best they could offer was to do a reset. Doing so did result in the phone grabbing the correct time, but it proved to be a non-fix... it started running fast again.
    In June we spent five days in Las Vegas. During that period, my phone kept absolutely perfect time; my wife's, however, continued to run fast. When we returned home to Seattle, my phone also resumed running fast.
    Last Friday we took the phones into a Sprint store with an on-site repair shop. They took mine in the back, told me they did some updates (not sure what this was since all my updates were current) and told me it was fine. No such luck. By the next day I noticed it was still running fast. My wife's phone also had some minor screen cracks so they swapped hers for a referb unit. Believe it or not, this one started running fast as well.
    At some point I noticed that the phone grabs the correct time if I connect it via USB for a media sync.
    So, that's where I'm at -- we've handled three phones and all of them run fast regardless of how the network/zone sliders are set. I really don't know what else to try but would eagerly welcome any suggestions.

  • VM System clocks running fast

    I'm running 3 VMs (OEL R4) on a single host.
    I've noticed the clocks in the VMs are running faster than the host.
    I found a couple of threads about this in the XEN groups - including one about adding "xen.independent_wallclock=1" in sysctl but I get errors with that.
    Right now I'm reduced to running a timesync (ntpdate) every 3 minutes to keep the clock on time.
    It averages a gain of about 3 sec/min and even more than that when the CPU is 100% loaded.
    Anyone else ran into this?

    Alan3 wrote:
    I'm running 3 VMs (OEL R4) on a single host.
    I've noticed the clocks in the VMs are running faster than the host.Are these HVM or PVM guests?
    I found a couple of threads about this in the XEN groups - including one about adding "xen.independent_wallclock=1" in sysctl but I get errors with that.This setting only works on PVM guests -- by default, a PVM guest uses the hardware clock of the VM Server. Setting this option means the guest can keep its own time.
    Right now I'm reduced to running a timesync (ntpdate) every 3 minutes to keep the clock on time.
    Anyone else ran into this?Yes, it's pretty standard on Xen virtual machines. I always insist that clients run ntpd inside HVM guests and the Dom0 (for PVM guests) on all my Oracle VM Servers. You can also use the independent_wallclock option and ntpd for PVM guests if you don't want to run ntpd in Dom0 (or perhaps have no access to ntp time sources from the Dom0).

  • Introducing LabWindows/CVI 2009

    National Instruments released LabWindows/CVI 2009 on Friday, December 4th.
    LabWindows/CVI 2009 includes enhanced productivity tools and introduces a new toolkit for run-time analysis and optimization. LabWindows/CVI 2009 also includes support for new technologies such as the Microsoft Windows 7 operating system, 64-bit application development and deployment, and provides a new interface for communicating with NI PXI FPGA-based hardware including FlexRIO and R Series data acquisition modules.
    Visit the What's New  page to see a full list of the new features in LabWindows/CVI 2009 that will help users create more reliable applications in a shorter amount of time and take advantage of new PC technologies. You can also view the What's New webcast series to get a closer look at the new features in LabWindows/CVI 2009. Some of the new features include:
    The new Execution Profiler Toolkit, an application performance measurement and analysis tool
    Improved debugging capabilities  capabilities with extended information in the variables and watch windows
    Easier user interface development with the attribute browser
    Integrated support for 64-bit application development and deployment
    The C- Interface to LabVIEW FPGA, a communication interface for FPGA-based hardware
    Support for Windows 7, the latest Microsoft operating system
    Additional Technical Resources Just for LabWindows/CVI Developers
    Subscribe to the LabWindows/CVI Quarterly quarterly newsletter  to receive the latest product news, tips and tricks, and developer resources. You can also join the LabWindows/CVI user community  and start collaborating with users.
    Adri Kruger
    LabWindows/CVI Product Manager
    Message Edited by Adri K. on 12-07-2009 03:28 PM
    Adri Kruger
    National Instruments
    LabVIEW Product Marketing

    Turbo,
    There isn't a document that covers all the features from 6.0 to 2009, though there are documents that talk about individual upgrades. 
    http://www.ni.com/lwcvi/whats_new.htm
    Also this document covers the upgrades since 8.0  http://zone.ni.com/devzone/cda/tut/p/id/7995
    There have been quite a few upgrades, you can always download an evaluation version and test it out for yourself http://www.ni.com/lwcvi/try.htm
    Richard S -- National Instruments --Applications Engineer -- Data Acquisition with TestStand

  • How to access the result list in teststand after execution using labwindows​/cvi

    I am developing a user interface in labwindows/cvi that runs multiple teststand sequence files and would like to combine their reports (generated in teststand) into a single file at the end of a UUT. What is the best way to do this? At the moment, I'm trying to access the result list local variable after the execution has ended using API calls from labwindows/cvi and an end-of-execution callback event but those run-time variables do not exist anymore. How do I get a hold of the result list array at the end of an execution? I would like to grab this variable and pass it along from sequence to sequence using labwindows/cvi and not teststand itself. Is this possible? Any help would be great.
    Thanks in advance,
    Luis

    Hey Luis,
    Check out the response to this thread at the NI TestStand board here!

Maybe you are looking for