如何通过IPC测量两个应用程序的执行速度


  1. 我有一个发送应用程序,通过匿名管道发送命令。
  2. 我有一个接收应用程序,接收命令,处理它,并返回一个结果。
  3. 发送应用程序收到结果。

我可以计算第一个应用程序(步骤1-3)中完整操作的时间长度。我还可以计算执行该命令的第二个应用程序的处理时间(步骤2)。

查看两个日志,我可以从步骤1-3的时间中减去步骤2的时间,并且假设发送应用程序没有浪费任何时间,我现在知道传输使用了多少时间。有没有办法,我能以某种方式同步两个日志,让两个日志在msecs中显示相同的时间标记。或者以某种方式同步所有操作,这样我就可以在第一个应用程序的日志中看到所有计时。

我知道应用程序需要一些特殊的命令以某种方式同步它们。但这是可能的,但我不知道这是否可能。

或者换句话说,问题是:是否有可能在不单独查看两个日志的情况下对应用程序1中的所有内容进行计时?

最佳结果:

  1. 我知道用于I/o(管道)的时间
  2. app 2中执行的代码时间(不含i/o)
  3. app 1中执行的代码时间(不含i/o)

进一步信息:应用程序运行在不同的机器上。即使在不同的网络通过VPN连接。

类似于Joseph Larson的建议,但不考虑时钟同步:您可以将在app 2中花费的时间附加到它返回的result中吗?然后从app 1记录它,连同总时间。

相关内容

最新更新