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的性能更好。

相关文章
|
10天前
|
开发框架 安全 .NET
技术好文共享:进程和线程的区别
技术好文共享:进程和线程的区别
10 0
|
2月前
|
Linux 开发者
【亮剑】Linux系统中的四种文件锁定机制:flock、fcntl、lockfile和flockfile,用于多进程环境下协调共享资源访问,防止数据损坏和竞争条件
【4月更文挑战第30天】本文介绍了Linux系统中的四种文件锁定机制:flock、fcntl、lockfile和flockfile,用于多进程环境下协调共享资源访问,防止数据损坏和竞争条件。flock适合脚本,fcntl提供底层灵活性,lockfile用于管理锁定文件,flockfile则结合两者功能。选择锁定策略时需考虑应用场景,如脚本可选flock,复杂需求则用fcntl。理解并正确使用这些工具对保证系统稳定性和数据一致性至关重要。
|
2月前
|
API 开发工具 Windows
LabVIEW中编程更改进程的优先级
LabVIEW中编程更改进程的优先级
38 0
|
2月前
|
应用服务中间件 nginx
Nginx源码阅读:nginx_shmtx共享互斥锁(进程锁)
Nginx源码阅读:nginx_shmtx共享互斥锁(进程锁)
81 0
|
8月前
|
Linux 定位技术 虚拟化
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
【OSTEP】多道程序和时分共享 | 虚拟地址空间 | 用户栈vs内核栈 | 进程结构: struct thread | 虚拟vs物理地址空间 | 地址转换方案
25 0
|
12月前
|
Unix Linux
Linux系统应用编程---进程间通信(二)【内存共享映射mmap】
Linux系统应用编程---进程间通信(二)【内存共享映射mmap】
90 0
|
Unix Shell Linux
【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…
【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…
|
Linux C语言 Windows
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
199 0
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
|
安全 数据处理 Android开发
Android一次完美的跨进程服务共享实践
Android一次完美的跨进程服务共享实践
168 0
Android一次完美的跨进程服务共享实践
|
9天前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器

相关实验场景

更多