LabVIEW Developers Feature Brainstorming

Showing results for 
Search instead for 
Did you mean: 

LabVIEW Performance

Re: LabVIEW Performance

Utopia wrote:
LabVIEW needs to support features of modern processors.
-- 64bit memory space
-- number of threads in LabVIEW needs to scale with number of cores (4 threads is not enough)
-- SSE support

Great suggestion. I look for similar properties in that order. In addition I'd like to see good distributed computing support for clusters, high-performance low latency networking for distributed computing, support for Windows Cluster operating system as a execution target. Of this wish list I see 64bit memory space most important.

Tomi Maila
0 Kudos
Message 11 of 28

Re: LabVIEW Performance

I also would like to see 64-bit memory. We're almost always at the very limit of the 2 GB available address space.
0 Kudos
Message 12 of 28

Re: LabVIEW Performance

Is there some way to set up LabVIEW so that it does not load itself into memory at system start and/or does not make network connections unless told to?

I have the same issue/request as Kevin P.  I agree with everything Kevin wrote so I won't repeat it.  I have an additional concern which is related to the unwanted/unneeded processes that are running at *system* startup.  There are  a number of processes with multiple instances that load on system startup and then try to connect to network ports regardless of whether I am connected to a network.  This is an enormous waste of system resources - especially since I do not use LabVIEW daily on my laptop.  I have it installed primarily to prepare instructional material for my students. 
On several occasions, I have tried to find out how to configure the startup settings from within LabVIEW.  There is a lot of information on how to use LabVIEW but not much on how to administer it.  Quite frankly, this has gotten so annoying that I am ready to uninstall LabVIEW and stop teaching such an invasive program - it is almost as bad as a virus.

0 Kudos
Message 13 of 28

Re: LabVIEW Performance

I wouldn't say that LabVIEW was almost as bad as a virus, but I definitely agree that there are too many NI services running around. I can understand why NI went this way, but these services are annoying.

By the way, I'm not sure how much system resources these services actually take up.

Try to take over the world!
Message 14 of 28

Re: LabVIEW Performance

You might try going to
Start - Settings - Control Panel - Administrative Tools - Services
Set all of the following that you might have, as well as anything else that starts with "NI" or "National Instruments" to "Manual" startup instead of "Automatic", by right-clicking and selecting properties.
Lookout Citadel Server
National Instruments Domain Service
National Instruments PSP Server Locator
National Instruments Time Synchronization
National Instruments Variable Engine
NI Configuration Manager
NI Service Locator
Now keep in mind, if you actually want to USE any of your NI hardware and software, you'll probably want to keep track of which one(s) of these you change so you can change them back or manually start them up.  There are several features of LabVIEW that won't work very well or at all if these services are disabled.  Running your NI products without these services enabled as normal is, to my knowledge, not supported.
Incidentally, I tried this in the version of LabVIEW I have installed, and it shaved approximately 25 MB off the boot-time memory usage.  This will probably vary depending on your LabVIEW version and which drivers or add-on modules you have installed.
To be perfectly honest, I expect it would be difficult for the owners of the various components to acheive desired functionality without such services, so some of this might be difficult to change, but regardless, we appreciate your feedback.  Hopefully it will help guide future decisions, and I hope the ability to manually disable some of these is helpful for you.

Message Edited by Jeff B on 07-31-2007 02:18 PM

Message 15 of 28

Re: LabVIEW Performance

I was exaggerating (a little) for emphasis when I wrote that LabVIEW was almost as bad as a virus.  On the other hand, what do you call software that listens to network ports and communicates with other computers without the user's permission or knowledge?  Unfortunately, these days you could call it normal as more and more software designers think that their software needs to "phone home".  But it should not be normal.  As to the system resource usage,  on my machine LabVIEW is currently taking up 30 MB of RAM with various processes that were loaded on system start (Many of those are waiting to talk to the network.)  That's not a lot of RAM these days - until I start using Matlab to do calculations on large matrices, or something similar, at which point I need all the RAM I can get.  I think that was part of Kevin's point, the users of LabVIEW are not typical computer users and the developers need to recognize that.  We should have more control over the default services that are started.  I have no problem with software using resources when I am running it (as long as it is reasonably efficient), but it should stay out of the way until I invoke it.  Maybe only a few people care about this. Or, maybe only a few people are aware of it - this is the only place on the NI website that I have found any information on system startup processes.  Sorry for the rant, I just want the developers to understand that there are some users who are unhappy with the current state of affairs. 
0 Kudos
Message 16 of 28

Re: LabVIEW Performance

Thanks for the information Jeff.  I will give it a try.  Is this documented anywhere?
0 Kudos
Message 17 of 28

Re: LabVIEW Performance

Yeah, thanks Jeff.  Is there any additional info out there to go through those services one-by-one and identify what a user will lose by stopping it?  Even if it's disclaimed as a non-exhaustive non-authoritative list, a few specifics would really help.

Meanwhile, I've mostly given up on my educated-guess-based trial-and-error.  I *think* I recall that one of them was necessary for finding examples, another (or maybe the same one?) was needed to have popup help, yet another 2 or more were needed for data acq device management via MAX, etc.  I'm pretty sure I've suffered no ill effects from disabling the Lookout Citadel Server and maybe also the Time Synchronization service. 

Still, I'd like to see something like the following get implemented:

- on boot, the service needed by "Find Examples..." is NOT started.

- when the user picks "Find Examples..." from the menu, the underlying code checks to see if the service is running.  If not, the service is started.  Either way, a flag is set meaning "ok to stop me when LabVIEW is shut down."

-Kevin P.

Message 18 of 28

Re: LabVIEW Performance

This is just a bit of information that I have read in the past, but can't find reference to right now.

As far as I know or have read, none of the NI software tries to "Phone Home" every time it runs. NI uses "localhost IP connections" for communications between different components. This is similar to the way MS Activesync uses an IP connection to sync your PDA via USB. These types of connections can trigger a firewall alert even though the machine is talking to itself.

Now, this may have changed in 8.2. It was a couple years ago I read that and they may be doing something different now. But I doubt NI is up to anything sinister.

That being said, it would indeed be nice to have to the option during install to not turn certain processes on if you know you're not going to need them.


Message Edited by Ed Dickens on 08-02-2007 04:30 PM

Ed Dickens - Certified LabVIEW Architect - DISTek Integration, Inc. - NI Certified Alliance Partner
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
Message 19 of 28

Re: LabVIEW Performance

Sorry, I did not mean that LabVIEW itself was trying to communicate with NI.  The "phone home" comment was directed at other software.  As for the ports, I think that it is probably true that most of the processes are opening local port connections but at least one of them (I forget which one at the moment)  will periodically get external machines trying to contact it or vice versa.  It is just easier to block them all than to sort through which is purely local and which isn't.  It would be nice if I did not have to deal with them until I want to.  BTW:  I have not had a chance to test Jeff's suggestion because the IT folks at my university have configured my new laptop in such a way that I do not have that ability...  And being away from campus on sabbatical, it is not a simple matter to change it.  Which is another argument for NI to give that control to the user. 
0 Kudos
Message 20 of 28