ticBytes
开始计算并行池中传输的字节数
说明
ticBytes 开始统计当前并行池中每个工作单元传输的字节数,以便后续 tocBytes 能够测量每个工作单元在两次调用之间传输的数据量(及相关元数据)。当前的并行池是 gcp 函数在 "noCreate" 选项下返回的 parallel.Pool 对象。 (自 R2024a 起)
在运行 ticBytes 函数之前,必须先有一个并行池正在运行。
如果在没有并行池运行时调用
ticBytes,ticBytes将对一个没有工作单元的空池进行操作,因此无法统计传输的字节数。在这种情况下,当您稍后调用tocBytes时,MATLAB® 会返回一个空表。如果在没有运行任何池的情况下调用
ticBytes,然后启动一个并行池,那么ticBytes不会对新创建的池进行操作,因为在调用ticBytes时该池尚不存在。当您稍后调用tocBytes时,MATLAB 会返回一个空表。
ticBytes 和 tocBytes 函数可配合 parfor、spmd 以及 parfeval 等函数,帮助您在并行执行过程中跟踪客户端与工作单元之间的数据流动。利用这些函数来了解通信开销并优化您的代码。
ticBytes( 开始统计由 pool)ProcessPool 或 ClusterPool 对象指定的并行池中每个工作单元传输的字节数,即 pool。
若要测量 gcp 函数返回的池以外的池中的数据,请将 ticBytes(pool) 和 tocBytes(pool) 调用结合使用。
和 startState = ticBytes 将状态保存到一个名为 startState = ticBytes(pool)TicBytesResult 的对象(即 startState)中,这样您就可以同时记录多组 ticBytes 和 tocBytes 调用所传输的字节数。使用 startState 的值作为后续调用 tocBytes 的输入参量。
示例
输入参数
输出参量
限制
基于线程的池不支持统计发送给或从工作单元接收的字节数。