eberaud Posted October 22, 2014 Report Posted October 22, 2014 (edited) 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 Edited October 22, 2014 by Manudelavega Quote
shoneill Posted October 22, 2014 Report Posted October 22, 2014 Scales are not labelled or with units, no perticular benchmark is mentioned, you don't give any information really. Are you using some deprecated methods? Quote
eberaud Posted October 22, 2014 Author Report Posted October 22, 2014 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.. Quote
ShaunR Posted October 23, 2014 Report Posted October 23, 2014 (edited) 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 October 23, 2014 by ShaunR Quote
Antoine Chalons Posted October 23, 2014 Report Posted October 23, 2014 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. Quote
shoneill Posted October 23, 2014 Report Posted October 23, 2014 On 10/23/2014 at 6:02 AM, Antoine Ch�lons said: 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. Quote
hooovahh Posted October 23, 2014 Report Posted October 23, 2014 On 10/23/2014 at 12:36 AM, ShaunR said: 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. Quote
JoeQ Posted October 23, 2014 Report Posted October 23, 2014 (edited) On 10/22/2014 at 10:39 PM, Manudelavega said: 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. Edited October 23, 2014 by JoeQ Quote
eberaud Posted October 23, 2014 Author Report Posted October 23, 2014 On 10/23/2014 at 12:36 AM, ShaunR said: 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). On 10/23/2014 at 6:02 AM, Antoine Ch�lons said: 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... Quote
JoeQ Posted October 23, 2014 Report Posted October 23, 2014 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. Quote
ShaunR Posted October 23, 2014 Report Posted October 23, 2014 (edited) On 10/23/2014 at 12:45 PM, hooovahh said: 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 October 23, 2014 by ShaunR Quote
eberaud Posted October 23, 2014 Author Report Posted October 23, 2014 I made a new test with no CAN communication at all. CPU and Memory are now identical in LV2011 and LV2014. So it seems the CAN is the culprit... Quote
JoeQ Posted October 23, 2014 Report Posted October 23, 2014 Not too surprised. Again, are 2011 and 2014 installed on the same PC for both tests? Quote
eberaud Posted October 23, 2014 Author Report Posted October 23, 2014 Sorry. Yes, the whole time I had the following NI products installed: Quote
shoneill Posted October 24, 2014 Report Posted October 24, 2014 Which order did you install the drivers and LV IDEs? Maybe try re-installing the CAN drivers after installing both versions of LV? Quote
JoeQ Posted October 24, 2014 Report Posted October 24, 2014 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. Quote
eberaud Posted October 24, 2014 Author Report Posted October 24, 2014 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... On 10/24/2014 at 3:40 PM, shoneill said: 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? Quote
bbean Posted October 24, 2014 Report Posted October 24, 2014 Do all your loops with CAN communication have a Wait ms in them? Maybe CAN performance got better and the PC doesn't have time to sleep. Quote
eberaud Posted October 24, 2014 Author Report Posted October 24, 2014 They are all timed loops, so there are no Wait functions. The period of the timed loop is defined as 10ms. Quote
JoeQ Posted October 24, 2014 Report Posted October 24, 2014 If I understand the data you show, 2011 is still working even with the 2014 installed. Based on this, I do not believe a clean PC is going to change anything. What does the profile tool show? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.