Jump to content

Are the builds from Windows and Linux different?


Recommended Posts

Hello,

I have noticed the difference in performance for the same application built on Windows and Linux (Ubuntu). Small differences could be understood but it looks like my app runs much slower on Ubuntu, so I tried to find any information what is that difference. I have checked the process created by the application in system performance and that's the first surprise: on widows I have 44 threads, on Linux 12 only. So it leads to question - is the parallel execution works on Linux ? 

I have tied to search the web to find any information related to how the application builder works but with no success. I would be grateful for any link or document describing that topic. 

edit:

44 thraeds on windows couled be expected when we have PC with 2 cores (2*20 + 4) according to https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000PARmSAO&l=pl-PL

On Linux, running the LabVIEW 20XX\vi.lib\Utility\sysinfo.llb\threadconfig.vi. will show us that:

image.png.fb5b1514d785cf550477210383676bdb.png

so the normal prioriti is used only (checked on Ubuntu and OPENsuse).

Edited by Łukasz
Link to comment

I am afraid I have nothing to contribute to that question, but this post calls for that question from me: is there a possibility, in addition to setting the number of threads, to specify how many cores are used?

Parallelism is great, but when using it indiscriminately, this can hog a PC. Having an option to programmatically (*) limit the numbers of cores that LabVIEW can claim would be nice, assuming that this is not something that is under the exclusive OS control.

(*) the tool pointed out in the OP seems to require a restart of LabVIEW, which calls for the related question: how does this work in a standalone executable?

Link to comment
18 minutes ago, ensegre said:

OK. But even with that (very dated) page: https://labview.brianrenken.com/INI/undoc.htm, I am having trouble figuring it out. In fact, assuming that info is still valid, it would appear that you could define Esys.Instrument.Normal = 8 and so on, to get some arbitrary and insane number of threads. It still doesn't give any control on which core is used (probably because there isn't any way to do that).

Link to comment

Thank you for your responses. 

If we made any configuration using Thread Configuration.VI then labview.ini will be changed i.e.: 

ESys.Normal=1
ESys.StdNParallel=-1

I haven't tried to copy those settings to the app.ini file yet.

I think I need to figure out if the luck of other Execution Priority (fewer threads) could have an impact on performance. I have tried to reduce the number of threads for windows - to copy the configuration which was shown for Linux - but with that configuration, LabVIEW freezes at luncher.

Link to comment
  • 7 months later...

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.