【问题标题】:Performance tuning in Cocoa applicationCocoa 应用程序中的性能调优
【发布时间】:2009-01-07 14:27:34
【问题描述】:

我正在开发一个 Cocoa 应用程序,它不断与 Web 服务通信以获取最新数据。这大大降低了应用程序的性能。对 Web 服务的调用是异步进行的,但调用的数量很大。

我可以通过哪些方式提高应用程序的性能?当 Cocoa 应用程序与 Web 服务通信时,是否有一个很好的文档/文章可以提供最佳实践?

谢谢

【问题讨论】:

    标签: cocoa performance macos


    【解决方案1】:

    您应该尝试 Mac OS X 开发工具附带的 Shark - 非常适合挖掘您的调用堆栈,并且应该允许您限制网络库和朋友。

    【讨论】:

      【解决方案2】:

      是的! Apple 实际上有一些非常简洁的性能指南,涵盖了很多技巧和技术,我相信您会找到与您自己的应用程序相关的内容。可能还有一些针对 10.5 的其他指南我还没有看过,但这里有三个我过去发现有用的指南。

      不过,最重要的一点是,您需要使用性能工具来准确查看瓶颈发生的位置。有时它可能出现在您最意想不到的地方。

      【讨论】:

      • 非常感谢您提供的文件。他们真的很有帮助。
      【解决方案3】:

      我认为,如果您使用 Shark,您会发现您的应用程序正在阻塞等待服务器返回的答案。跨机器分割的代码很难进行基准测试,因为标准工具只能对图片的一部分进行基准测试。

      听起来您需要考虑将调用捆绑到更少的事务中......您的瓶颈几乎可以肯定是网络。支持将多个调用作为调用数组发送怎么样?答案也一样?也许您可以在本地缓冲调用,并且每秒仅将它们作为单个事务发送几次?

      托尼

      【讨论】:

      • 感谢安东尼的建议。这里的问题是我正在进行这些调用以读取服务器上文件的内容,并发送带有要读取的字节范围的请求(因为请求来自内核)所以不能真正将请求堆叠在一起并发送他们。内核不会等待 :)
      猜你喜欢
      • 2016-10-16
      • 2010-12-20
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多