09-05-2006 09:32 AM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
09-05-2006 11:04 AM - edited 09-05-2006 11:04 AM
Just a guess, but could it be that your VI was last saved in a previous version of LabVIEW? In this case it would need to be converted every time you call it, a slow process.
Make sure all you VIs are saved in the current LabVIEW version. You could even masscompile the entire folder containing all your subVIs.
Message Edited by altenbach on 09-05-2006 09:06 AM
09-10-2006 01:12 AM
This is surely not the case.
I am using LabVIEW 8.0.1, and the entire code has been developed from scratch in LabVIEW 8.0.1 itself.
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
09-10-2006 02:36 AM - edited 09-10-2006 02:36 AM
just now i conducted one more experiment and here are the results
1. I created one simple VI and Called it dynamically (Entire VI was Written in LabVIEW 7.1) i found that overhead of dynamic calling is around 2 msec
2. then i wrote (NOT CONVERTED) same code in LabVIEW 8 and i found that the overhead of the dynamic calling is around 12 Msec.
3. I Converted the 7.1 code into 8.0 and saved it to find that it takes around 12 msec as an overhead
please find attached sample code on which i took these trials. it is in LV7.1
some more things i observed are as follows
1. If i increase the Execution time of VI being called dynamically (by increasing the iterations) then overhead also increases (try out 10000, 100000, 1000000 etc.) this seems funny to me, since i expect the overhead must be due to opeining of ref. passing the values and closing the vi ref.
Message Edited by Tushar Jambhekar on 09-10-2006 02:36 AM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
09-10-2006 04:40 AM - edited 09-10-2006 04:40 AM
The apparent increase in overhead time is due to the passing of the array. Increasing the iteration number also increases the size of the data chunk to be transfered. Additionnally, the array indicator should have been placed after the second timer, outside the sequence structure, otherwise you also measure the display time.
If you use a fixed size array in the test.vi, then the overhead time stays the same, whatever the iteration number.
Sorry for the two stars, that's just the result of an unintentionnal drop-through click 😞
Message Edité par chilly charly le 09-10-2006 11:41 AM
09-10-2006 11:02 PM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog
09-13-2006 10:12 PM
09-19-2006 03:47 AM
Tushar Jambhekar
tushar@jambhekar.com
Jambhekar Automation Solutions
LabVIEW Consultancy, LabVIEW Training
Rent a LabVIEW Developer, My Blog