LabVIEW ​​单​进程​共享​变量​与​​全局​变量

简介: LabVIEW ​​单​进程​共享​变量​与​​全局​变量

LabVIEW 单进程共享变量与全局变量


单进程共享变量与LabVIEW全局变量相似。事实上,单进程共享变量的实现是在LabVIEW全局变量的基础上增加了时间标识功能。


为了比较单进程共享变量与LabVIEW全局变量的性能,NI编写了多个基准测试VI,以测量VI每秒钟对LabVIEW全局变量或单进程共享变量进行读写的次数。下图显示的是单进程共享变量读取基准测试的程序框图。单进程共享变量写入基准测试和LabVIEW全局变量读取/写入基准测试遵循同一模式。



图单进程共享变量读取基准测试VI


综合读取/写入测试还包括了验证每个写入点都在同一循环中被无损读回的验证代码。


T1的测试结果


下图给出了T1的测试结果。结果表明,单进程共享变量的读取性能低于LabVIEW全局变量。而从写入性能以及读取/写入性能来看,单进程共享变量略低于LabVIEW全局变量。单进程共享变量的性能会受到是否启用时间标识功能的影响,因此如果没有必要,建议关闭时间标识功能。


方法和配置部分讲述了基准测试的具体方法和测试配置的细节。




图单进程共享变量与全局变量的性能比较


单进程共享变量与实时FIFO


NI通过可持续吞吐量的基准测试来比较启用了FIFO的单进程共享变量和传统实时FIFO VI的性能。此基准测试中还测试了传送数据的大小或负载对以上两种实时FIFO实现的影响。


测试包括一个用于生成数据的实时优先级循环(TCL),以及一个用于消耗数据的标准优先级循环(NPL)。 NI通过对一系列双精度标量和数组数据类型进行测试来确定负载大小的影响。标量类型决定了负载为双精度数值时的吞吐量,数组类型决定了其余负载类型的吞吐量。在无数据丢失的情况下执行上述两个循环时的最大可持续速度就是该测试记录的最大可持续吞吐量。


图24给出了实时FIFO基准测试的简化程序框图,其中略去了许多用于创建和注销FIFO的必要代码。需要注意的是从LabVIEW 8.20开始,引入了一个可以替代此处所示FIFO子VI的新FIFO函数。本文中的数据图表即通过该FIFO函数得到,它比之前8.0.x中FIFO子VI的性能更好。

相关文章
|
4月前
|
Python
在Python中,`multiprocessing`模块提供了一种在多个进程之间共享数据和同步的机制。
在Python中,`multiprocessing`模块提供了一种在多个进程之间共享数据和同步的机制。
|
4月前
|
安全 API Python
`multiprocessing`是Python的一个标准库,用于支持生成进程,并通过管道和队列、信号量、锁和条件变量等同步原语进行进程间通信(IPC)。
`multiprocessing`是Python的一个标准库,用于支持生成进程,并通过管道和队列、信号量、锁和条件变量等同步原语进行进程间通信(IPC)。
|
5月前
|
计算机视觉 Python
Python 多进程以及进程共享参数
这段时间在做一款游戏的挂机软件,我发现进入游戏后的逻辑和判断人物死亡的逻辑需要同时进行(因为不知道什么时候就暴毙了),以前我习惯用线程来进行同步,但是我发现由于我的代码中的逻辑比较复杂,且有多个嵌套的无限循环会导致线程阻塞,所以我决定用进程的方式来实现同步运行。
|
5月前
|
开发框架 安全 .NET
技术好文共享:进程和线程的区别
技术好文共享:进程和线程的区别
31 0
|
6月前
|
Linux 开发者
【亮剑】Linux系统中的四种文件锁定机制:flock、fcntl、lockfile和flockfile,用于多进程环境下协调共享资源访问,防止数据损坏和竞争条件
【4月更文挑战第30天】本文介绍了Linux系统中的四种文件锁定机制:flock、fcntl、lockfile和flockfile,用于多进程环境下协调共享资源访问,防止数据损坏和竞争条件。flock适合脚本,fcntl提供底层灵活性,lockfile用于管理锁定文件,flockfile则结合两者功能。选择锁定策略时需考虑应用场景,如脚本可选flock,复杂需求则用fcntl。理解并正确使用这些工具对保证系统稳定性和数据一致性至关重要。
370 1
|
6月前
|
API 开发工具 Windows
LabVIEW中编程更改进程的优先级
LabVIEW中编程更改进程的优先级
85 0
|
6月前
|
安全 Python
Python多进程编程中的资源共享与同步问题探讨
Python多进程编程中的资源共享与同步问题探讨
|
6月前
|
应用服务中间件 nginx
Nginx源码阅读:nginx_shmtx共享互斥锁(进程锁)
Nginx源码阅读:nginx_shmtx共享互斥锁(进程锁)
134 0
|
Linux 定位技术 虚拟化
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
46 0
|
4月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能

热门文章

最新文章