Jump to content

Huge performance deterioration with LV2014


eberaud

Recommended Posts

Before making the switch from LV2011 to LV2014, I ran the exact same test with the 2 versions (2011 and 2014) of my application. I recorded the CPU usage and discovered a huge deterioration of in LV2014.

 

Is anybody aware of any change between LV2011 and LV2014 that could impact the performances like this?

 

I should mention that the unit on the Y-scale is %CPU and the X-scale is MM:SS

post-14511-0-72714700-1414017535_thumb.p

Edited by Manudelavega
Link to comment

I edited my message to mention the scales. The Y-scale is the percentage of CPU used by the application (like the number you can read in the Windows Task Manager), and the X-scale is the time, expressed as MM:SS. The shape of the plots or their absolute values are of little importance (I was performing specific operations at given time). What is noteworthy is the factor 2 between the 2 plots..

Link to comment

Compiled with different optimiser settings? One in LVx32 the other in x64? The girl in the next cubical had a headache? It's a bit of a "my mums dog won't bark at strangers".

 

There is a performance monitor (Tools>>Profle>>Performance And Memory). Inspection of that while running may identify the VIs that are working harder than usual and may provide a hint at what is different.

Edited by ShaunR
Link to comment

your app is using more CPU but is it running as fast, faster or slower.

I mean... ok it takes twice as much CPU but you don't say anything about what it does and if it runs faster.

 

Reminds me of early SSD benchmarks which were surprised that the drives were using more power than expected and were disappointed until someone realised it was important to look at the power / GB Transfer number which suddenly looked much better since the drives were MUCH faster than traditional HDDs.

Link to comment

It's a bit of a "my mums dog won't bark at strangers".

Is this a UK thing?  I searched google and all that came up were tips on how to get your dog to not bark.

 

In any case I haven't used 2014 much but haven't seen this behavior yet.  I'd need to see more evidence in the form of a VI that could be ran which demonstrated this.  NI would likely be very interested in this VI too if it can help them create better performing releases in the future.

Link to comment

Before making the switch from LV2011 to LV2014, I ran the exact same test with the 2 versions (2011 and 2014) of my application. I recorded the CPU usage and discovered a huge deterioration of in LV2014.

 

Is anybody aware of any change between LV2011 and LV2014 that could impact the performances like this?

 

I should mention that the unit on the Y-scale is %CPU and the X-scale is MM:SS

 

I loaded the project I last worked on into 2011 and then 2014 while recording the CPU usage.   Both use about 25% of the processing power. 

 

I really have not seen anything slow down or take more processing power.   Wonder what you are doing that you see this sort of change.

post-22844-0-54029700-1414070110_thumb.p

Edited by JoeQ
Link to comment

Compiled with different optimiser settings? One in LVx32 the other in x64? The girl in the next cubical had a headache? It's a bit of a "my mums dog won't bark at strangers".

 

Both LVx32. Settings-wise, I made a copy of all the files - including the project file -, opened the application in LV2014, saved all of them in LV2014, and started the build. So all the settings should be the same. I checked the Advanced page of the build specification, it is the same: Debugging disabled, SSE2 optimization enabled (other settings are the same as well).

 

your app is using more CPU but is it running as fast, faster or slower.

 

I understand your point (and Shoneill's), but in my case the application's performances are also worse. At time = 01:00, I start the communication on 3 CAN bus and log the CAN messages in a file. The analysis of this file shows a determinism way worse in the LV2014 version. So the application is kind of chocking in LV2014... FYI, at time = 03:00 I also start some automation, which explains the second rise of the CPU%.

 

As a general comment, I'm not saying LV2014 has bad performances as an absolute statement. I think all of you are correct to say it comes from my application itself. I posted here to see if anybody else had had this issue...

Link to comment

I am curious when you ran the test, did you have just 2011 installed for the first part, then install 2014 to run the second part?  Or was 2014 installed, then you ran both tests.    Reason I ask is I am curious if this was something in the way they talk with your specific hardware.    If they can mess up something as simple as a RS232 port, it's no impossible that they messed up your CAN interface. 

 

It will be interesting to hear what you find was the cause.

Link to comment

Is this a UK thing?  I searched google and all that came up were tips on how to get your dog to not bark.

 

In any case I haven't used 2014 much but haven't seen this behavior yet.  I'd need to see more evidence in the form of a VI that could be ran which demonstrated this.  NI would likely be very interested in this VI too if it can help them create better performing releases in the future.

It's an old (very, very old) joke that relies on making an assumption about the first persons statement with regards to his perception of the problem.

 

My mums dog won't bark at strangers.

Your mum doesn't have a dog.

Edited by ShaunR
Link to comment

I was guessing it would be the low level interface but sounds like this is not the case.   Something in how you handle the CAN communications on your side.   If I understand your graphs, you suggest you are using 20% with the CAN and without you are at 2%.    CAN is a VERY slow bus, 500k maybe a 1meg?    To see 20% I suspect you have the code structured so you stall out when waiting for CAN data.    

Link to comment

Yes, the 3 CANbus have a 500k Baud rate. On the 3 buses, the application send and receive several messages every 10ms. Each send message has to be prepared, and each received message has to be parsed, so overall it's true that it is an intense process...

 

Which order did you install the drivers and LV IDEs?

 

Maybe try re-installing the CAN drivers after installing both versions of LV?

 

Well this PC previously had older versions of NI-CAN, NI-VISA, etc. that I upgraded to the 14.0 versions. Do you think I should try to take a "clean" PC with no NI products at all, and install only what I need?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.