【问题标题】:how to check performance of a c++ api如何检查 c++ api 的性能
【发布时间】:2008-12-06 21:32:51
【问题描述】:

我的网络服务器在收到请求时有很多依赖关系来发回数据。我正在 Web 服务器中测试这些依赖项应用程序之一。应用程序与主 Web 服务器解耦,只有查询以 api 暴露的形式发送给它。

我的问题是,如果我想在多线程环境中检查这些 api(带有 2 个四核处理器机器的 c++ 函数),那么最好的方法是什么?

我是否在单独的线程或进程中调用每个 api?如果是这样,我该如何实现这样的代码?据我所知,我将复制 Web 服务器的功能,但我找不到其他更好的方法来计算单独该组件所带来的性能改进。

【问题讨论】:

    标签: c++ performance api


    【解决方案1】:

    这取决于您的应用是否能够处理在并行进程中运行时共享的数据,因为这很可能会确定等待速度瓶颈的位置。

    例如,如果应用程序访问数据库或磁盘文件,您可能必须模拟多个线程/进程来查询应用程序,以了解它们如何相互配合,即它们是否必须相互等待访问共享资源时。

    但如果应用程序只进行一些内部计算,全部由它自己进行,那么它可以很好地扩展,只要它的所有数据都适合内存(即不是虚拟内存访问,例如磁盘访问,是必要的)。然后,您可以只测试一个实例的性能并专注于优化其速度。

    说明您计划使用的操作系统也可能会有所帮助。 Mac OS X 提供了 Windows 和 Linux 可能没有的性能测试和优化工具,反之亦然。

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 2019-07-27
      • 1970-01-01
      相关资源
      最近更新 更多