CVI 2013 compiling slow

Hi,
Is it normal that compiling a project in debug mode takes much more time in CVI 2013 than in CVI 2010?
1'23 minutes versus 0'40 minutes.
When I recompile the project in CVI 2013 without any change to the source code it takes again 1'23 minutes in CVI 2013 versus 5s in CVI 2010.
Is there a setting somewhere which improves compiling speed in CVI 2013?

Hello Bertrand_ENAC,
It sounds like your project is compiling really slow. Do you make use of the concurrent compiles option under Build Opions > Build Process Options?
In order to speed up the process, you could disable run-time checking from Build Options > Configuration Options. You could also try to reduce the number of lines per file even further; you should get better results.
Ultimately, you could send us the project to analyse it by uploading it to ftp.natinst.com/incoming. It may be the case that the compiler is slower due to some constructs you're using. Is the memory usage high during compilation?
Best regards,
= Nelu F. || National Instruments.

Similar Messages

  • CVI 2013 compiler: increment / decrement operator evaluation

    I'm looking at pulling an old project forward to CVI 2013, but have hit a challenge, which is documented as follows:
    "In assignment, the value of the right operand is evaluated before an array indexing is performed in the left operand. Expressions such as a[i] = i++; will evaluate differently in LabWindows/CVI 2013 when compared with previous versions."
    (There is a somewhat related thread here to do with the order that function arguments are evaluated.)
    This change in evaluation order is shocking to me. I assume there is some C history behind it, and I'm not going to be able to change that.
    So, my question is: What is the easiest way to find all places in my code where this could affect me? I have ~75,000 lines of legacy code. Perhaps some regex magic?
    Thanks,
    Ian
    Solved!
    Go to Solution.

    You can try to compile your code with sequence point checking. CVI compiler doesnot seems to know that.
    But maybe lastest version of clang and/or gcc can help there. Be sure to compile with and without optimization, some warning messages depend on this.
    ( try -Wsequence-point on cmd line or  something like #pragma clang diagnostic warning "-Wsequence-point" in source code)
    Better but harder(i think) sollution can be to use some MISRA-C checker, they should detect this but maybe they give you too much warnings about all the unspecified and undefined behaviours.
    Some list is on (section analyzers): https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Coding+Standard
    I do not use any of them so i cannot reccomend one.

  • CVI 2013 S Functions in File bug: empty ring

    This seems mostly relevant to service pack 2 of CVI 2013.  I didn't see this behavior much in SP1.
    The issu is this:
    Occassionally, between making my project, some (not all) of the C files that are part of my project don't have a pouplated Functions In File ring.  Why?  It makes navigating the file very difficult.  The files in question still successfully compile!
    The only fix I can find is to close CVI and reopen.  Then the ring gets populated.  Closing merely the file and reopening from the CVI tree doesn't work.
    Solved!
    Go to Solution.

    If your project is large it might take long for browse info to be generated. You can see in the status bar when the browse info is generated
    It takes longer when browse info is generated for multiple files(e.g when loading a project, changing configuration, edit a header that is included in multiple files).
    Constantin

  • Return of void functions inconsiste​ncy between CVI 2013 and older

    Hello,
    I have discovered an inconsistency using CVI 2013 (SP2 or not) compared to CVI 2010 and CVI 8.5 (the versions I have).
    I have written, by mistake, a code where I'm returning a value for a void function. CVI 2013 does not complain (but should) while other CVI versions complain (and that's OK).
    Here is the code:
    static void pouet(void)
    return;
    static void hop(void)
    return pouet();
    int main(void)
    hop();
    return 0;
    Could this behaviour be fixed for the next CVI update ?
    Thanks.
    Frédéric Lochon.

    Well it's technically not causing wrong behaviour, but may cause less than best performance depending on the compiler code generation as the register usually used for function return values might be assigned some garbage value that never will get used though.
    Causing an error is likely a bit strict, issueing a warning would be the prefered behaviour, not generating either a warning or error is a bit lazy. Problematic would be if you could write this without getting an error:
    static void pouet(void)
    return;
    static int hop(void)
    return pouet();
    int main(void)
    hop();
    return 0;
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • In past versions of CVI, using OpenFile with no path meant to look in the local path (in other words the install directory). Is there a way to do this in CVI 2013?

    I use an .ini file to allow the users to change the bootup preferneces for the program. In the past that file lived in the install directory and OpenFile could cheerfully find the file and apply the preferences. In CVI 2013, the program seems to need an implicit path to the file. Is there a way around this?
    Solved!
    Go to Solution.

    I'm not using CVI2013 yet, but in any case you can build up a full pathname for a file in the application folder using GetProjectDir and MakePathname commands at runtime.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Error when Building on CVI 2013 XmlReader fails to load

    Thsi occurs during a code build under LabWindows CVI 2013 (FDS Version 13.0.2 (278) Windows 7 64 But Enterprise
    The builds completes and is functional. However midway through the builds the error windows pops open and returns the following. This is a fairly recent change, I think, as the code (albeit being continuously changed with minor changes) used to build without erro windows. Possibly related to a Windows system update.
    Please let me know if there is a known fix.
    Error:
    Error Details:
    MetaToolbox::XmlReader::Load failed. SchemaPath=''
    MetaToolbox:chemaValidationErrorHandler::fatalError: Error at line 1:
    Invalid document structure
    Error:
    Error Details:
    MetaToolbox::XmlReader::Load failed. SchemaPath=''
    MetaToolbox:chemaValidationErrorHandler::fatalError: Error at line 1:
    Invalid document structure

    Hi;
    Can you verify if the following files and folders exist?
    C:\ProgramData\National Instruments\MIF\MetaInstaller\settings.xml
    C:\ProgramData\National Instruments\MDF
    It might be possible that the software needs to be reinstalled. In the following document you can see the instructions on how to repair it:
    http://digital.ni.com/public.nsf/allkb/AC6ED75D3D93375686256E8E00245F0D

  • CVI 2013 and Windows SDK

    Hi,
    I just downloaded and installed Labwindows/CVI 2013 full development system on my new computer.
    It's a Win7 64 bit computer.
    Do I have to do any additional installations to use Windows SDK functions, or is it included in the typical installation?
    Thanks,
    Kirk
    Solved!
    Go to Solution.

    Unless in 2013 something has changed, normally you must explicitly select the corresponding option in order to have the SDK installed. You must perform the setup again and expand the CVI item in the product tree, next select "Interface to the Win32 API" item: the appropriate libraries and include files  will then be installe on your system.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Cvi 2013 sp1 bug?

    Hello,
    I have defined a structure in the program :
    typedef struct
        char name[100];
        char ip_addr[65];
    }BATTERY_ALARM_STATE;
    static BATTERY_ALARM_STATE gBatteryAlarmState;
    void func()
            snprintf(gBatteryAlarmState.ip_addr, sizeof(gBatteryAlarmState.ip_addr), "%s", "127.0.0.1");
            snprintf(gBatteryAlarmState.name, sizeof(gBatteryAlarmState.name), "%s", "123456");
    when executing the func(), it always popup the error message:  Attempt to write beyond end of string.  and the error always be stopped at the second "snprintf". This code run well in the cvi2013, but just have the error in the cvi 2013 sp1.
    David

    Hi David,
    Where do you call func, in your program? I tried putting together a simple application (see snippet that follows), but it doesn't reproduce the behavior you described in LabWindows/CVI 2013 SP1.
    // Include files
    #include <ansi_c.h>
    //====================================================================================================
    // Types
    typedef struct {
    char name[100];
    char ip_addr[65];
    }BATTERY_ALARM_STATE;
    //====================================================================================================
    // Static global variables
    static BATTERY_ALARM_STATE gBatteryAlarmState;
    //====================================================================================================
    // Function declarations
    void func();
    //====================================================================================================
    // Global functions
    int main ()
    func();
    return 0;
    void func()
    snprintf(gBatteryAlarmState.ip_addr, sizeof(gBatteryAlarmState.ip_addr), "%s", "127.0.0.1");
    snprintf(gBatteryAlarmState.name, sizeof(gBatteryAlarmState.name), "%s", "123456");
    //====================================================================================================
    Can you confirm whether this code causes the same error for you?
    Thanks,
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • LabWindows/CVI 2013 SP2

    I just received the email announcing LabWindows/CVI 2013 SP2 is available for download.
    I can't seem to find the release notes that explain the changes anywhere on the NI website.
    Anybody know where the release notes are posted?
    Thanks,
    Kirk

    Hello Kirk,
    Please refer to the LabWindows/CVI 2013 SP2 Bug Fix Information document for a list of bug fixes included in the release.
    Thanks,
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • Breakpoint are not respected on cvi 2013 under w8.1

    Dear all,
    I am using Labwindows/CVI 2013 on windows 8.1, and I have a strange behavior on breakpoints. Indeed, my program is not stopping on some breakpoints which I have set.
    Randomly, the breakpoints are respected, which means that the program stops correctly on these breakpoints. Randomnly also, the breakpoints are not respected, which means that the program do not stop on the setted breakpoints, event that the program runs the instructions where the breakpoints are set.
    I use the debug mode, and the instructions were the breakpoints are set are not comments, they are instructions.
    I do not have this behavior when I run cvi 2012, under w 7. I do not know if the issue come from w8.1 or cvi2013, or...,
    I would like that this issue wil be fixed.
    Thank you for any help.
    Cheers,

    Hi hapiest,
    Thank you for posting on this thread.
    Can you share a simplified code that reproduces the behaviour and that I could run on my computer without any hardware and the .cws file ?
    Also :
    - What  version of CVI are you using (SP ?)
    - Does the berakpoints that are ignored still appread in the breakpoint listing box ?
    - If you creates a project from scratch, does it reproduces the issue ?
    Best Regards,
    Isabelle G.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • CVI 2013 SP2 and PID toolkit

    Just a question on NI's Web site documentation:
    The announcement of CVI 2013 SP2 mentions that the PID toolkit is now included...
    Searching for CVI toolkit, the NI download page mentions a PID toolset 2.1, which, however, is said to work with Windows Vista/XP 32-bit/2000 only.
    So before downloading and installing I'd like to know if it will work with Windows 7 and / or 64 bit?
    Thanks!
    Solved!
    Go to Solution.

    Hi Wolfgang,
    I updated the web download page to reflect the OSs on which the PID toolkit has been tested. PID Toolkit 2.1 (32-bit) is supported on both Windows 7 32- and 64-bit OSs.
    Thanks for bringing this to our attention!
    Daniel D.
    National Instruments
    Automated Test Software R&D

  • CVI 2013 Error: The compiler has run out of memory.

    Hello,
    I get this error in a source file I'd like to debug:
    1, 1 Error: The compiler has run out of memory.
    1, 1 Note: You may be able to work around the problem:
    1, 1 A. Set the debugging level to 'no run-time checking'.
    1, 1 B. Split your source file into smaller files.
    1, 1 C. Enable the 'O' option for your source file in the project.
    1, 1 D. Move large static data structures into new files and
    1, 1 enable the 'O' option for the new files.
    Options A and C disable debugging aids mostly, and I don't dare editing it.
    So any possibility to increase the memory limit?
    /* Nothing past this point should fail if the code is working as intended */
    Solved!
    Go to Solution.

    This is the "strange code"
    #pragma pack (push,8)
    typedef struct
    int struct1int;
    } STRUCT1;
    typedef struct
    STRUCT1* s1_ptr;
    } STRUCT2;
    typedef struct
    char c[2];
    int i;
    STRUCT2 s2;
    } STRUCT3;
    #pragma pack (pop)
    static STRUCT3 s3_global;
    void SomeFunc(void)
    s3_global.i = 0;
     I believe clang fails to compute the struct paddings.
    /* Nothing past this point should fail if the code is working as intended */

  • Macbook Pro laptop (early 2013) sudden slow down, and heats up while sleeping

    Hi! I need help with my Macbook Pro laptop (early 2013) that suddenly slowed down, and heats up while sleeping. It slowed down 3 days ago. I want to know what checks I can do to find what is wrong with my laptop. Thank You

    Hi! I did reset SMC but it did not work but thank you. Now, my hard drive crashed, bought a new one, but unfortunately my laptop does not detect the new hard drive so that where I'm at. Im not sure if I need to format the hard drive, replace an internal part like the connector of the hard drive to the logic board or the new hard drive is broken.

  • FPGA FlexRIO SCTL LabVIEW 2013 Compilation Problems

    Hi,
    I have an FPGA FlexRIO (7962R) VI that interfaces to a 6585 LVDS board that consists of a SCTL running at 200MHz and using a Xilinx Coregen FIFO.
    In LabVIEW 2012 using Xilinx 13.4 I have had no problems compiling this at 200Mhz, but in LabVIEW 2013 using Xilinx 14.4 I am unable to get it to compile reliably about about 170MHz with absolutely no modifications to the code.
    The Xilinx FIFO is probably irrelevant as I have tried cloning the VI and removing the FIFO and still get the same problem.
    Any ideas, things to try or solutions? 
    Thanks,
    Dave
    David Clark
    CLA | CTA
    CLA Design Ltd
    Hampshire, England

    Have you tried optimising the Xilinx compiler for Timing?
    You can't modify the Xilinx compile options of a FlexRIO target.
    In LabVIEW 2012 using Xilinx 13.4 I have had no problems compiling this at 200Mhz, but in LabVIEW 2013 using Xilinx 14.4 I am unable to get it to compile reliably about about 170MHz with absolutely no modifications to the code.
    What compile error are you getting? Does not reliably mean that sometimes it does compile correctly? Can you upload a simple example of a piece of code that works in 2012 but not 2013?
    National Instruments
    FlexRIO Product Support Engineer

  • CVI 2013 UIR changes are not implement on subsequent build.

    I have noticed that on a compiled project if you change the visibility of a UIR object, these changes are not reflected on the subsequent build. There are files that are set to recompile but in least some cases the change to the UIR is not reflected by a "build" (or Ctrl M).
    Using the new "Rebuild" command from the pull down menu does reflects the expected behavior (the changes to the UIR are seen).
    This may be considered normal operation and / or been previously reported, but it was new to me.

    Hello blakney, CVI-User,
    blakney, it sounds like the bug you've reported originated in the Patch f1. The bug id is 433769 and the fix is likely to be included in our next release.
    Two workarounds for the issue are:
        - Use Rebuild every time you make a UI change (if you're using the option).
        - Disable Embed project .UIRs when in Debug configuration and only embed them when you create your release product. The option to embed is configuration-dependent, meaning you can set the debug and release behaviors separately.
    Regarding your latter post, [I find that local path UIRs sometime get "lost" in Release64 builds. They link fine in Debug64 mode though.], could you please attach a sample project?
    CVI-User, your case might fall under the same use-case (id, 433769). However, could you please attach a sample project, so we can double-check?
    Thank you and best regards,
    = Nelu F. || National Instruments.

Maybe you are looking for