What is the impact of using a variant data type on performance, speed memory demands etc?

This is another one of my "lets get this settled once and for all" threads.
I have avoided variant data types whenever possible to keep the performance of my apps up. From some observatsions i have made over the years, I am of the opinion that;
1) In-place operations can not be carried out on variants.
2) Passing a variant to a sub-VI (regardless of the terminal on the icon connector) are always copied.
I would like confirmation or correction of the above so we know more about this animal we call LabVIEW.
Thank you,
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction
Solved!
Go to Solution.

A couple notes:
1. You can use the To/From Variant nodes for the Inplace Element Structure to operate inplace on the contained variant data. This should work just fine even if you have a big 2D array contained.
2. Variants are incredibly useful when you use them for Variant Attributes, rather than just storing data. The Variant Attribute implementation uses a binary tree to store the key value pairs, which provides quick insertion and lookup.
3. I don't work on the internals of LV, but I see no reason whatsoever that passing a variant into a subVI would always necessitate a copy. I could be wrong, but that sounds very odd to me.
However, I have generally started trending towards using flattened strings. Flattened strings are generally more efficient memory-wise, because they don't contain all the type descriptor information, just the raw data. (I think there's some exception when flattening LV Classes.) Variants always store the type descriptor, so even an empty variant can take up a bit of memory.
Variants received a big performance boost from 7.x to 8.x. They used to have a bad reputation, but I wouldn't be afraid to use them where applicable. I personally don't see a lot of benefits over flattened strings, though, except in the case of tools like the OpenG Variant INI files, which can dynamically parse out and construct variant types.
Jarrod S.
National Instruments

Similar Messages

  • What is the purpose of using rush order  doc type?

    what is the purpose of using rush order  doc type?

    hi,
    In a rush order transaction, the customer picks up the goods or you deliver the goods on the same day as the order is placed. In the standard system, when you save this sales document type, a delivery is automatically created and billing is related to the delivery.
    In the standard system, sales document type SO is saved for rush orders with immediate delivery type LF. Once the goods have been removed from storage, the goods are picked, and goods issue is posted.
    Once the billing documents are created (for example, in collective processing), invoice papers are printed and sent to the customer.
    CHAN

  • What is the purpose of using cash sales doc type?

    what is the purpose of using cash sales doc type?

    You can go through the link
    http://help.sap.com/saphelp_46c/helpdata/en/70/a7853478616434e10000009b38f83b/frameset.htm
    Update from help.sap.com
    Cash sales is an order type for when the customer orders, picks up and pays for the goods immediately. The delivery is processed as soon as the order has been entered. A cash invoice can be printed immediately from the order and billing is related to the order. Receivables do not occur for the customer as they do for rush or standard orders, because the invoice amount is posted directly to a cash account.
    Process Flow
    In the standard system, sales document type BV is saved for cash sales with immediate delivery type BV.
    When the sales employee creates a cash sale, the system automatically proposes the current date as the date for delivery and billing. Once the order has been posted, a delivery with type BV is created immediately in the background and the system prints a document that is used as an invoice for the customer.
    The invoice papers are controlled with output type RD03, contained in the output determination procedure for order type BV.
    If the customer has already received the goods, this delivery should not be relevant for picking. If the customer is to pick the goods up from a warehouse, the delivery should be relevant for picking. If the goods are to be sent, this can be processed by maintaining the delivery in the usual way.
    The system automatically creates a resource-related billing index which updates the billing due list. Billing document BV is created as the system processes the billing due list, but an invoice is not printed.
    Once the customer has received the goods and is satisfied with them, the transaction is considered to be complete. We recommend that you post goods issue in the background using a program designed specifically for this purpose. You can then bill the transaction.
    The cash sale can only be billed if the order quantity is the same as the goods issue quantity. If this is not the case, you need to adjust the cash sale document so that the delivered quantity and the quantity to be billed match.
    You use an order-related collective billing process to bill the cash sale, but an invoice is not printed. The sales order number is used as the reference for the accounting document, created in Financial Accounting.
    Dealing with Problems and Complaints
    If the transaction does not run smoothly, manual intervention is necessary. For example, if the required quantity of goods is not found in the warehouse, you need to adjust the delivery quantity. Equally, if the customer is not prepared to pay the agreed price, because, for example, the goods are scratched, you can change the price in the cash sale document.
    In extreme cases, you can delete the entire transaction, starting with the delivery.
    If the delivery is damaged before it is picked up but after it is paid for and there is no replacement stock, you can initiate a subsequent delivery.
    If you make changes to the cash sale, you can issue a new cash sale invoice using the repeat printout function.
    Creating a Cash Sale
    In the initial screen, choose Logistics ® Sales and distribution ® Sales.
    Choose Order ® Create.
    Enter the order type for cash sales (BV in the standard system) and, if necessary, the organizational data.
    The values for sales organization, distribution channel and the division are usually proposed from user-defined parameters. Entries for the sales office and the sales group are optional.
    Choose Enter.
    Enter the following data:
    – Customer number of the sold-to party
    – Material numbers
    – Order quantities for the materials
    Choose Enter.
    If the system carries out an availability check and finds that there is insufficient stock for an order item to be delivered on the requested date, it displays a screen on which you can choose between several delivery proposals. Normally, in a cash sale, you only sell the quantity you can deliver on the spot.
    Save your document.
    The system automatically processes the delivery in the background and prints out a cash sale invoice. The amount of the sale is processed later in an order-related billing transaction. The amount is posted to financial accounting, using the order number as reference. Because this is a cash sale, no invoice is produced during the billing run.

  • What is the impact of Failed registration of app type 2 (Signals) from plugin unity Error

    Hi,
    I'm getting this warning message in my VMware (Ms Windows Server 2003) hosting a website using IIS.
    My users started to experience application slowness after the issue occured. So i wonder what is the impact of this error message? Does it really impact the server performance?
    Event Type: Warning
    Event Source: VMware Tools
    Event Category: None
    Event ID: 1000
    Date:  12/15/2013
    Time:  12:32:41 PM
    User:  xxxxxx
    Computer: xxxxxx
    Description:
    [ warning] [vmusr:vmtoolsd] Failed registration of app type 2 (Signals) from plugin unity.
    Thanks

    I had the same thought
    wilnesse dericer

  • What is the difference btwn double and floating data type?

    is it going to affect the computation?

    What is the difference btwn J2SDK and J2EEhttp://java.sun.com/j2se/index.jsp
    http://java.sun.com/j2ee/index.jsp

  • What is the match of float or double data type in abap?

    I have tried p, but I could not handle decimal numbers such as 10.6 or 10,6(no matter which one is preferred, the question is the same...).
    How can I handle these numbers?
    Thanks.

    Hi
    Hope you know about FLOAT and Double.But you can use the same P for handling decimal places...
    Use like this.
    Data :Deci type P DECIMALS 2.
    Get bckif you are getting error still...
    Reward All Helpfull answers..........

  • What is the impact of business area and cost center in the sales document

    Hi all
    I have small doubt regarding what is the impact of bussiness area and cost center in the sales document... what is the uses of these (bussiness area, cost center) is help full for sd module
    can any one reply plz....
    Thanking you

    Hi,
    Business Area determines where the revenue should be allocated when you sell a material or a service.
    For eg: If your customer is in say Mumbai and he is ordering for a service in Delhi (say DIAL - Delhi International Airport Limited) then based on the terminology.
    Your customer would belong to B Basis Business Area - WHERE THE REVENUE IS COMING FROM or WHERE YOUR CUSTOMER BELONGS TO (SALES OFFICE).
    Whereas your DIAL sales will belong to A Basis Business Area - WHERE THE REVENUE IS GOING TO.
    Cost Center would determine where your allocate your cost to.
    Say Rounding Off can be used as a cost element, because some sort of revenue is lost when figures are roudned off..
    Hope it clarifies your doubt.
    Reward points if satisfactory
    Regards
    Ravi.D.Mansharamani

  • Client wants to upgrade the R/3 from ECC5.0 to ECC 6.0, what is the impact

    Client wants to upgrade the R/3 from ECC5.0 to ECC 6.0, what is the impact on BW 3.5.needs to upgrade any thing?.
    Is there any impact in BW3.5 system.
    This is very urgent.
    Please respond immediatly.
    Thanks
    Vasu.

    Determination of Prerequisites
    Purpose
    As parallel maintenance has been deactivated, you have to implement various measures, depending on how your system has been configured, when you upgrade to release SAP ECC 5.00, Financial Services (EA-FS500). These measures affect release levels SAP ECC 5.0 and SAP ECC 6.0.
    Process Flow
    Use the graphic and the subsequent documentation to check which activities are required in your system due to the deactivation of parallel maintenance. The process represented in the graphic is explained in greater detail in the following sections:
           1.      Check whether you use the Real Estate (RE-Classic) solution.
    ¡        If you do not use the Real Estate (RE-Classic) solution, no additional steps are required.
    ¡        If you use Real Estate (RE-Classic), additional checks are necessary.
           2.      Check whether, in addition to Real Estate (RE-Classic), you also work with a solution that uses the SAP Business Partner.
    ¡        If you only use Real Estate (RE-Classic), additional checks are necessary.
    For more information about the activities to be processed, see Steps for Exclusive Use of Real Estate.
    ¡        If, in addition to Real Estate (RE-Classic) you also work with a solution that uses the SAP Business Partner, additional checks are necessary.
    For more information about the activities to be processed, see Steps for Additional Use of an SAP BP Application.
    Regards,
    Subha

  • What is the impact of upgrading jdbc drivers from 9.2 version to 10g driver

    Hi,
    My application is built on Oracle 9.2 with 9.2 version jdbc drivers.
    To use Java objects mapping with Oracle object TYPES (for ex. STRUCT),
    I had to go for 10g jdbc drivers. Otherwise, I am getting an error:
    java.sql.SQLException: Non supported character set: oracle-character-set-178
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829)
    at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactory
    Thin.java:150)
    at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:1
    14)
    at oracle.sql.CHAR.<init>(CHAR.java:109)
    at oracle.sql.CHAR.<init>(CHAR.java:133)
    at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java:143)
    at oracle.sql.StructDescriptor.toOracleArray(StructDescriptor.java:385)
    at oracle.sql.StructDescriptor.toArray(StructDescriptor.java:560)
    at oracle.sql.STRUCT.<init>(STRUCT.java:95)
    at oracle.sql.OracleSQLOutput.getSTRUCT(OracleSQLOutput.java:95)
    at oracle.sql.STRUCT.toSTRUCT(STRUCT.java:328)
    at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
    atement.java:2025)
    at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
    atement.java:2148)
    I would like to hear from you that, what is the impact on the existing application if I upgrade
    jdbc drivers from 9.2 version to 10g version?
    Please do mention all the impact.
    Vyshu

    JDBC 10g works just fine against 9.2 database. See the interopeability matrix on the JDBC portal http://www.oracle.com/technology/tech/java/sqlj_jdbc/index.html
    Kuassi - blog http://db360.blogspot.com/

  • I would like to activate open item management what is the impact of this

    HI,
    i would like to activate open item management what is the impact of this  FAGL_ACTIVATE_OP program 
    i am not under standing why this many entries are happening for this i have tested in DEvelopment
    40 SERVICE TAX-SHE CESS-RECEIVABLE-INPUT SERVICES
    50 50000029   MEDICAL REIMBURSEMENT  (Original entry)
    system posted documents
    2nd entry
           50  27051306         SERVICE TAX-SHE CESS-RECEIVABLE-INPUT SERVICES
           40  99900001GL Offset Account
    (TExtTransfer Posting: Activation of Open Item Manageme)
    3rd entry
    40         27051306   SERVICE TAX-SHE CESS-RECEIVABLE-INPUT SERVICES
    50         27051306   SERVICE TAX-SHE CESS-RECEIVABLE-INPUT SERVICES
    (TextTransfer Posting: Zero Balance per Acct Assignment)
    4th entry
    document no was happend
    Clearing document with out Lint items
    5th entry it is ok it is new open balance
    40 27051306   SERVICE TAX-SHE CESS-RECEIVABLE-INPUT SERVICES
    50  99900001   GL Offset Account
    (TExt   Reposting for Open Item Activation)
    can any body give some explanation
    Regards,
    madhav

    You would have to purchase a second subscription since one subscription allows for only two active installations of which only one can be in use at a time.
    As far as cost goes...
    Creative Cloud Plans
    https://creative.adobe.com/plans

  • What is the tcode for creating a variant ??

    Dear Guru,
    I want to know What is the tcode for creating a variant  which is being used for SM30 's variant option .
    Because we have created a maintenance view and we want to run this trhough tcode..
    but dont know how to do it.
    pls guide through out the procedure.
    thanks & regards
    Saifur rahaman

    Hi,
    If you want to create the TCODE for the TMG you created you must go for Parameter Transaction
    Go to SE93
    Give your Tcode
    Click Create , select parameter transaction Radio Button
    In the Transaction Field Give SM30
    Check the Check box SKIP INITIAL SCREEN
    select your GUI support and SAVE
    in the space provided give F4
    Select        VIEWNAME and give your table name
    Select                  UPDATE  give it as X
    then SAVE
    Edited by: Prasanth Kasturi on Nov 25, 2008 6:54 AM

  • What is the impact on database transaction when migrating oracle9i to 11g?

    What is the impact in JDBC classes when migration of oracle 9i to 11g is done?
    Will there in problem with connection and transactions? Do we have to modify the classes or include new jars ?

    dull_duke_java wrote:
    What is the impact in JDBC classes when migration of oracle 9i to 11g is done?I would say nothing unless someone did something horribly wrong in the first place. But if such did occur then it would be in the SQL.
    Certainly one possibility would be if "select *" was used and there was a presumption of what order columns were returned in regards to that.
    Will there in problem with connection and transactions? Meaning what exactly? If you attempt a migration also servicing new requests then any impact depends on how and what the migration does.
    Do we have to modify the classes or include new jars ?If you want a new driver then you would need a new jar.

  • HT201250 I use Time Machine to back up my entire computer with my external hard drive. I am getting a brand new iMac this month and was wondering what is the process of using this back up to restore my new computer exactly how my old computer was?

    I use Time Machine to back up my entire computer with my external hard drive. I am getting a brand new iMac this month and was wondering what is the process of using this back up to restore my new computer exactly how my old computer was? I want to make sure I will still have various important files on my new computer, like my songs in iTunes, my photos in iPhoto, etc, etc. Thanks so much in advance!

    Welcome to the Apple Support Communities
    When you turn on the new iMac for the first time, Setup Assistant will ask you to restore a backup, so connect the external disk and follow steps to restore all your files to your new iMac. Your new Mac will have the same settings and programs as your old computer.
    In other cases, I would recommend to restore the whole backup without using Migration Assistant or Setup Assistant, but a Late 2012 iMac uses a special OS X build, so the OS X version that you're using on your old Mac won't work on the new one. For more information, see > http://pondini.org/OSX/Home.html

  • What is the real time use of implicit and explicit cursors in pl/sql

    what is the real time use of implicit and explicit cursors in pl/sql.............please tell me

    You can check the following link ->
    http://www.smart-soft.co.uk/Oracle/oracle-plsql-tutorial-part5.htm
    But, i've a question ->
    Are you student?
    Regards.
    Satyaki De.

  • What are the main tables using in vendor performance report.

    what are the main tables using in vendor performance report.
    how many select statements are in ABAP reports.

    Refer the links -
    vendor performance report !!!
    vendor performance report
    vendor performance report
    I need standard vendor performance report
    Regards,
    Amit
    Reward all helpful replies.

Maybe you are looking for

  • Converting all PNG to PDF in a folder

    This sounds like a problem fit for an Automator solution, but I don't know if this is possible: Recursively traverse all files in a folder (incl sub folders), finding all PNG files and converting them to PDFs. Then finally created a single ZIP file h

  • When i increase my volume it increases after a while and when i decrease it decreases after a while

    It used to be fine before but now whenever i increase/decrease my volume for anything it increases/decreases after a minute, i tried everything still doesn't work!

  • Admin owner for planning application migration

    I'm using the instructions from the following article to migrate a planning application. Migration of Hyperion Planning Application One of the steps is create a new Planning application with the same admin name as the older application. Unfortunatly,

  • Duplicate data records error

    Hello IO is updated from ODS. System generates an error : duplicate data records. This is because keys of ods dont match keys of infoobject. I can build an other ods to aggregate data before loading to infobjects. Are there any ways to do it in start

  • IOS password autofill for more than 1 account on the same web page

    Can Safari in IOS 7 remember more than 1 login info for the same website? When I try to save 2 sets of user names and passwords for the same website it only autofills the last one set when I try to go back to the website. thanks Carlos