0

您好资深 R 用户,

我对 R 很陌生,想知道是否有可能使我的过程并行化。我的数据集本质上来自一个 pcap 文件,在该文件中我提取了与特定协议 MODBUS/TCP 对应的数据包。有超过 800k 个数据包,每两个连续的数据包对应一个特定(即相同)MODBUS 事务的查询/响应。

由于某些值包含在查询/响应中,因此我创建了一个初始 for 循环,该循环逐行“排列”数据,以便每个事务都有一行,所有变量都从两个查询/响应行。区分查询/响应的唯一方法是源/目标端口号,它位于条件 if 语句中。

我正在使用数据表、设置键、预分配变量(合并表/结果)。应用于向量(结果 data.table 中的列)的函数执行得相当快。

我的电脑正在运行带有 4 个处理器的 debian wheezy。由于存在依赖关系,从我的理解来看,实际上不可能利用并行处理?但是有什么方法可以分割整个数据集,让它们并行处理,然后合并结果?运行时间超过 3 小时,也许我可以应用其他一些优化?

非常感谢任何指导/指针。谢谢!

4

1 回答 1

0

我用 C 重新实现了代码,并且发现了我目前正在探索的 Rcpp。这似乎是要走的路。

于 2015-07-17T12:52:21.173 回答