SubVIs and code efficiency

Hello,
I would like to know what is better (when thinking about program velocity), to make a huge VI or a lot of subvis distributed in many levels.
I imagine that this relation (number of sub VIs and program efficiency) will have something to do with the way I pass values between VIs.
So my second question is what is better, to pass values using global variables, to pass control references and use a lot of property nodes, or to pass it in another way. 
I tried to find info about this questions but  I had little success,
I hope someone can help me!
Best regards, 
Gabriel
Solved!
Go to Solution.

I have found the answer for my question on the following webcasts: 
Best Practices for Managing Application Development with the LabVIEW Project
http://zone.ni.com/wv/app/doc/p/id/wv-167 Tips and Tricks for Improving LabVIEW Application Performancehttp://zone.ni.com/wv/app/doc/p/id/wv-173Software Design Architectures in NI LabVIEWhttp://zone.ni.com/wv/app/doc/p/id/wv-160Design Multirate Applications with LabVIEW Timed Loophttp://zone.ni.com/wv/app/doc/p/id/wv-863
Message Edited by GPC on 10-01-2009 03:11 PM

Similar Messages

  • Mapping arrangement and code efficiency

    Hi all,
    I have a general question about how best to structure and OWB mapping.
    Take the example where I have multiple source tables (Table A, B and C) which are referenced multiple times in one mapping. Is it best to bring in these tables multiple times on the canvas as and when I need them, or is it best to have them placed only once on the mapping and then all references to other transformations/tables to be made from the first drop of the table. From a visual perspective mappings are a lot easier to understand if the tables are copied in more than once, however my main question is around the efficiency of code written underneath...in which example will the most efficient code be written or will it be the same?
    Thanks
    Mitesh

    well, the thing is that a mapping does not have to result in a single SQL statement.
    Row based mapping, e.g. will not.
    So, depending on what the mapping does, it could matter somewhat since the generated code might differ.
    A tricky thing to do, is to make sure that the "flow" in the mapping will be correct (what table get's processed first etc)

  • Aborting a subvi and then returning back into the subvi

    Anyone,
    I have a subvi that is gathering calibration values in a while loop.  However, this subvi gathers precal data before the actual calibration data in which this precal gathering process takes quite a bit of time.  When I run this subvi by itself,and hit the abort button during the time its collecting calibration data, i can re-start the subvi by pressing the run button and it will continue gathering calibration values without needing the precal values.  But, if i terminate the while loop in the subvi, and hit the run button again it will ask for the precal values again, which takes a long time.  So, in my main vi which calls this subvi, "ideally" i would like to call this subvi only one time and abort its execution without terminating its while loop, so i can keep re-entering the subvi without it asking for the precal data.  I do not want to seperate this precal process with the cal process within the subvi because the instrument driver that came with the product has both of these functions together using dll calls to pass values to each other, and Im figuring there is an easier way to do this.  Any help would be great.  Thanks,
    cmaddox99

    cmaddox99 wrote:
    .... and abort its execution without terminating its while loop, ...
    Can you explain this statement once more   (I don't think you can abort a VI without terminating its while loop).
    Maybe you want to design something along the lines of an action engine? There is also the "first call?" primitive.
    LabVIEW Champion . Do more with less code and in less time .

  • How do I change email so pictures appear instead of links and code

    how do I change email settings so pictures appear instead of links and code?
    Also how do I change settings to get .doc attachments instead of win.dat attachments?

    I advise you to look at your code and ask yourself if it's efficient. What is you wan to add a few numbers to your program? You'll have to add a lot of lines of code.
    Ah well, here's the answer to your question (partially):
        double sum = (one+two+three+four+five+six+seven+eight+nine+ten+eleven+twelve+thirteen);
        double mean = (sum / 13);
    //...

  • Implementation of Oracle Coding Standards and Code Quality Checks

    I wanted to implement a list of coding standards and code quality checks for my oracle packages,functions,views,tableetc .
    for example
    All variables with number datatype should start with N_ and charcter type with C_ in all my tables & views definition.
    This can be identified during peer review & can be corrected, but i think this is a repeated process which i don want to burden the developers rather i wanted a tool which does all these kind of checks which can be automated.
    Is there any tool which does this operation or can someone give me a little idea how can i automate these stuffs bu creating a generic oracle procedure which can run through all the tables,views and generate a error report for those which are deviating from the standards.
    Thus we can reduce the manual effort spent on peer review, please suggest.
    thanks in advance

    maru wrote:
    I wanted to implement a list of coding standards and code quality checks for my oracle packages,functions,views,tableetc .
    for example
    All variables with number datatype should start with N_ and charcter type with C_ in all my tables & views definition.Hungarian notation is dead. It has no place in modern programming languages. Has no place in PL/SQL. Anit ain't just me saying that.
    +"Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged—the compiler knows the types anyway and can check those, and it only confuses the programmer."+
    Linus Torvalds
    +"No I don't recommend 'Hungarian'. I regard 'Hungarian' (embedding an abbreviated version of a type in a variable name) a technique that can be useful in untyped languages, but is completely unsuitable for a language that supports generic programming and object-oriented programming—both of which emphasize selection of operations based on the type an arguments (known to the language or to the run-time support). In this case, 'building the type of an object into names' simply complicates and minimizes abstraction."+
    Bjarne Stroustrup
    2) Conditional Statements
    IF (x = 1) --> Wrong
    IF ((x = 1) AND (y = 2)) --> wrong
    IF x = 1 AND y = 2 --> RightIdiotic rules. The simple rule should be readability of code. Not how many brackets to use, and when not to use brackets. Minute standards like detracts from designing and writing proper code, fast and efficiently.
    There are many more rules (which is specific to ur application) which can be incorporated in the tool, there by giving consistency ,readability and easy to maintain for the developers.Bull. The more rules there are, the more difficult it becomes for programmers to write code. As it is no longer about writing readable and flexible and performing code - it is about double checking every single statement line against a huge list of rules about do's and dont's. It is not about getting the programmer focusing on solving the problem - it is about distracting the programmer with a complex and large rule list of how the code should look like.
    Sorry - but this rubs me the wrong way. In that environment, I would be the first to tell you to shove your "+many more rules+".
    I've developed systems in over a dozen languages over the years. I've seen all kinds of standards. The standards that work are those that are short, simple and sensible. Hungarian notation is not sensible. Writing reserved words in uppercase is not sensible. Dictating how brackets should be used is not sensible.
    What is sensible is using the de facto naming standards in use today - as per .Net Guidelines for Names (MSDN) and Code Conventions for the Java Programming Language.
    What is sensible is providing guidelines like bulk collection needs to be justified (not possible using SQL only) and use the limit clause to manage memory spend on the collection variable. Or how packages need to be used to modularise code, providing a public interface and private implementation.
    Standards are about creating a sensible and easy-to-use framework for writing code. It is not about creating a list of a 1001 rules that a developer needs to remember and adhere to, as if the developer is now part of some weird religious sect that has rules for every single aspect of human behaviour.

  • Itab and sorting efficiency

    Hi,
    I only want the earliest date of a date field (non unique) in the database table...
    my way of doing...
    1) create a standard itab with only the date field.
    2) select all the records for that date field into the itab.
    3) collect into another standard itab with same structure to remove duplicates.
    4) sort the itab in acsending.
    5) read from the itab with index 1.
    any other better ways in terms of performance or code efficiency?
    if i do the sort in the select statement (eg. order by), it would be slower right?
    Thanks,
    Charles
    abap newbie

    Hi,
    It depends on the type of table you use.
    1)With a COLLECT for standard tables, a hash function is created internally. Using this hash function results in good performance. The hash function for standard tables is, however, non-persistent, since it is destroyed by each INSERT, DELETE, and so on; after which performance is reduced with a COLLECT all fields that are not part of the key must have a numeric type.
    2)With the COLLECT statement, the contents of the work area is added to an entry with the same key or added to the table as a new entry. This allows you to create aggregated internal tables, thereby reducing data volume.COLLECT searches in the internal table for a data record according to the table type and defined key. If it finds an entry in the table, it adds all numeric fields of the work area or header that are not part of the key to the corresponding fields of the entry. If no entry is found, the contents of the work area or header row are added as a new table entry.You can only use the COLLECT statement with internal tables whose non-key fields are all numeric (type I, P, or F). If not, you get a syntax error. From SAP Basis release 4.0A, the table key may contain numeric fields.
    The COLLECT statement is internally optimized for standard tables so that the response time is constant. This optimization applies as long as the tables are not modified with DELETE, INSERT, or SORT (non-persistent hash function). Using the latter instructions loses the rapid internal access, and leads to linearly increasing access costs for the COLLECT.
    3)With hashed and sorted tables, the cost of the COLLECT statement is constant, even if you use DELETE, INSERT or SORT.
    For the DELETE ADJACENT DUPLICATES the internal table should be sorted one before you write the statement.
    Thanks,
    Balaji

  • Open file in main vi, write in subvi and close in mainvi

    Hi,
    Im opening a file in the main vi , passing the reference number to the
    write to text file which is located in the subvi and passing the refnum
    out from this vi to the main vi again to close the file.
    But, I always have only the last value of the measurement stored.
    Im getting data from the serial port.
    what am I doing wrong?
    Can someone help me.
    Thanks and regards.

    You probably have forgotten to set the "Write" function to APPEND the data to the file.
    This has nothing to do with where you are writing the file.  Check the inputs for the write function and make sure you set it up to append.
    Shane.
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

  • Can someone please help me re-install my Creative Design 5.5 on my Mac?  My MacBook Pro recently crashed and had to have the hard drive replaced.  The back up from Time Machine is not reinstalling the program.  Since I have the download paid, and codes, I

    Can someone please help me re-install my Creative Design 5.5 on my Mac?  My MacBook Pro recently crashed and had to have the hard drive replaced.  The back up from Time Machine is not reinstalling the program.  Since I have the download paid, and codes, I need direction on how to reinstall -- HELP?

    Hi bodegakc,
    If you have the serial number then please use the below mentioned link to download the product you are looking for .
    CS5.5
    Also before installing Please go to Applications-->Utilities--> Adobe installers and if there is any uninstaller for CS5.5 , you can remove it and do a fresh install.
    You can also use creative cloud cleaner tool before installing.
    Use the CC Cleaner Tool to solve installation problems | CC, CS3-CS6
    Thanks
    Nikhil Gupta

  • Open a SubVI and run automatica​lly

    Hallo everyone,
    I´ve an event structure in which a SubVI is called by VI server. I don´t want the main VI to be frozen so I turned the wait until done off.
    But the SubVI is just called and in edit mode. How can I call the SubVI and run it automatically?
    Regards,
    Wilbur
    Solved!
    Go to Solution.

    Hi all:
    I have this configuration: 
    manually execute process 1, then there is a button that opens (when click BTN-A-HISTORICO) the process 2 and process 1 is minimized and still running. 
    Then the process 2 opens in edit mode.
    I put the 0 in the options in the Open VI Reference but i don't understand why doesn't work.
     HEEEELLLPPP
    I'm using labview9
    process 1
    process 2
    por el poder de Grayskull

  • I just purchased an IMac with lion and I tryed to install an old math program that is for winmac running systems. When I try to boot the cd it comes up with a notepad window with a bunch of weird symbols and codes but the program will not start up.

    I just purchase my first IMac with lion and I was trying to install a math program I bought 6 years ago. When I went to boot it off the disk while following the program instructions a window popped up with a note pad format with symbols and codes but the program would not download or open. How do I get this program to work? It is a mac compatible program by the way.

    Your Mac probably does not know with which application to open the file and is opening a file with a text editor that really needs to be opened by the application itself.  Try starting the application first, then use the File > open command to open the file.
    As varjak paw comments, there isn't a "winmac" so that's not telling us anything.
    Note that it is possible that software purchased 6 years ago may no longer run on your computer.  Once we know what it is we can help more.

  • Deletion of Release Group and Code in PO

    Dear Consultant,
    In Purchase order, we have created some release group and code, Unfortunately we deleted some groups Without deleting in Order wise.
    In table level the Release Group is there but in SPRO Release Strategy settings its not there..My consultant advised again you have to create same release group in Release strategy...
    If I create same Release Group which are lying in my T16FC Table..But system throwing this err "An entry already exists with the same key"
    Could you suggest me.
    Regards,
    PRIYA.

    Hi,
    Please go with below mention path: -
    SPRO >> Materials Management >> Purchase Order >> Release Procedure for Purchase Orders >> Define Release Procedure for Purchase Orders >> Release Groups.
    Here check release group is existing, if yes then remove them and click on save button.
    Then try to create new service group.
    Some times we delete release group and create new release group with same description without saving changes.Due to this this type of error is occur.
    Regards,

  • Facelets and code insight for XHTML

    Hi,
    what about support for facelets and code insight for xhtml?
    Thanks,
    Uros.

    Hi,
    actually the templating mechanism is deployable in shared libraries, which means you should be able to reuse this outside of JDeveloper with the right libraries in place. The issue we found with Facelets is with the required binding references that we need for ADF to work in templates (though this is an Oracle specific problem for as long as JSR 227 isn't turned into a J2EE standard) .
    Also, templates in JDeveloper 11 are referenced at runtime, which means they can be changed on the fly even after deployment and all pages will reflect them. Plus, you don't need to configure a new extension and filter to your JSF files/configuration making it more straight forward.
    And yes, it can be deployed to other J2EE containers than Oracle- Not sure what the open source plans are, but I'll point someone from our Trinidad supporters to this thread to shed some light on what the Trinidad community has in the plans.
    Your point for a common templating support is well taken (though I wished there would be something better than Facelets ;-) )
    Frank

  • Differences between SLIN and Code Inspector

    Hi,
    Can anyone tell me the differences between SLIN and Code Inspector(SCI)..?
    and in which cases we use SLIN and  SCI..?
    and as an ABAPer, which one should we prefer..?
    Thanks,
    Pradeep.

    Hi
    Extended syntax check or SLIN is used to check the program in all aspects for the different syntaxes like
    When you use select single whether you have passed all the key fields or not>
    whether you have maintained the text elements texts or not,
    Have you used UNIT...CURRENCY along with the QTY and AMOUNT fields when displayed using the WRITE statement
    and check for all the varities of statements used in the code, and if there is some problem with that statement/command, it will display as error or warning.
    Check following links -
    slin
    can any one tell me abt SLIN T-CODE
    Reward points if useful
    Regards
    Anji

  • Data objects and code objects in oracle application

    Hi,
    can any one please help me out with following question?
    1. what are data objects and code objects in oracle apps and why is that difference?
    2. How does the objects gets created in Oracle Applications, like during the installation which part is responsible for creating objects and after the installtion later point of time, how the new objects gets created in oracle applications?
    3. what are the ways to find out if my 11i application is OATM enabled ?
    Thanks in advance

    Hello,
    I managed to find answer for question 1, yet to find answer for 2 and 3.
    Answer for question 1 --
    Data objects : store and access business data (tables, indexes, sequences, index-organized tables, etc);
    Code objects : process data objects but them don't contains business data (functions, procedures, packages, views, synonyms);
    Now, here i have a question - under which objects queues are considered ?

  • Differences between SSL and Code-Signing Certificates

    Hello,
    I unsuccessfully tried to use a SSL - certificate for signing an applet (converting from X.509 to PKCS12 prior to signing) and learned, that SSL certificates and code-signing certificates are different things (after seeking the web for ours). Can somebody point out some source of information about this topic ? What are these differences ? Can I convert my SSL certificate into a code-signing certificate ?
    Things got even more confusing for me, since my first attempt with an wrongly converted SSL cetificate (I used my public and private key for conversion only, omitting the complete chain) at least worked partly: the certificate was accepted, but marked as coming from some untrustworthy organisation. After making a correct conversion (with the complete chain) the java plugin rejected the certificate completely ...
    Ulf

    yep, looks like it.
    keytool can be used with v3 x509 stores:
    Using keytool, it is possible to display, import, and export X.509 v1, v2, and v3 certificates stored as files, and to generate new self-signed v1 certificates. For examples, see the "EXAMPLES" section of the keytool documentation ( for Solaris ) ( for Windows ).
    jarsigner needs a keystore so I would assume public and private key pair.
    you could list the keys from your store:
    C:\temp>keytool -list -keystore serverkeys.key
    Enter keystore password: storepass
    Keystore type: jks
    Keystore provider: SUN
    Your keystore contains 2 entries
    client, Jul 5, 2005, trustedCertEntry,
    Certificate fingerprint (MD5): 13:50:77:64:94:36:2E:18:00:4B:90:65:D0:26:22:C8
    server, Jul 5, 2005, keyEntry,
    Certificate fingerprint (MD5): 20:90:49:6F:46:BA:AB:11:75:39:9F:6F:29:1F:AB:58
    The server is the private key, this can be used with jarsigner (alias option).
    C:\temp>jarsigner -keystore serverkeys.key -storepass storepass -keypass keypass
    -signedjar sTest.jar test.jar client
    jarsigner: Certificate chain not found for: client. client must reference a val
    id KeyStore key entry containing a private key and corresponding public key cert
    ificate chain.
    C:\temp>jarsigner -keystore serverkeys.key -storepass storepass -keypass keypass
    -signedjar sTest.jar test.jar server

Maybe you are looking for

  • Can anybody shed some light on this? Replacement iphone activation issue

    I'm on an orange france contract and recently had a faulty iphone 3g black 16gb replaced by apple. When I put my original sim into the new iphone and connect up to itunes 8 I get the following message: 'The sim card inserted into this iphone does not

  • Trouble opening JPG files sent to my email address in Mail

    If I open my Mail box, I am unable to view JPG sent to me, but if I log onto >mac through firefox, the photos are displayed as per normal, but if I use the Mail appl, all I get is text messages

  • VO extensions error : '  You cannot access this draft quote '

    Hi Oaf Experts, After extending VO iam getting one error in the page ' You cannot access this draft quote ', by removing the vo extension the error is going,but the error is not related my VO, it is a Standard Error. can anybody help on this issue. t

  • Acquired PB; now have many questions

    I have a great PB 40GB 800 mhz model from Ebay but the owner left all his documents, files, etc. He said he had everything that he needed from it. My questions are: This laptop has 10.3.9; I have install disks for Tiger. Will the installation of Tige

  • Which variable gives the Total Page Number in a report

    Which variable of Report can give me the total number of Pages. I want this information on first page itself. I want to refer this value in pl/sql thus i want to access the value programatically, and not just show in report as Page 1 of 10. Thanks, S