你好,资深R用户,
我对R很陌生,想知道是否有可能将我的流程并行化。我的数据集本质上是从一个pcap文件中派生出来的,我在其中提取了与特定协议MODBUS/TCP相对应的数据包。有超过800k个数据包,并且每两个连续的数据包对应于特定(即,相同)MODBUS事务的查询/响应。
由于一些值包含在查询/响应中,我创建了一个初始的for循环,它逐行"排列"数据,这样每个事务就有一行,所有变量都从查询/响应行中填充。区分查询/响应的唯一方法是通过源/目标端口号,该端口号在条件if语句中。
我使用的是数据表、设置键、预分配变量(合并后的表/结果)。应用于向量(resultdata.table中的列)的函数执行速度相当快。
我的电脑正在用4个处理器运行debian喘息。由于存在依赖关系,从我所读到的内容来看,我的理解是不可能真正利用并行处理?然而,有没有什么方法可以对整个数据集进行分区,让它们并行处理,然后合并结果?它花了3个多小时运行,也许还有其他一些优化我可以应用?
非常感谢任何指导/指示。谢谢
我在C中重新实现了代码,并发现了我目前正在探索的Rcpp。这似乎是要走的路。