【发布时间】:2009-01-07 14:27:34
【问题描述】:
我正在开发一个 Cocoa 应用程序,它不断与 Web 服务通信以获取最新数据。这大大降低了应用程序的性能。对 Web 服务的调用是异步进行的,但调用的数量很大。
我可以通过哪些方式提高应用程序的性能?当 Cocoa 应用程序与 Web 服务通信时,是否有一个很好的文档/文章可以提供最佳实践?
谢谢
【问题讨论】:
标签: cocoa performance macos
我正在开发一个 Cocoa 应用程序,它不断与 Web 服务通信以获取最新数据。这大大降低了应用程序的性能。对 Web 服务的调用是异步进行的,但调用的数量很大。
我可以通过哪些方式提高应用程序的性能?当 Cocoa 应用程序与 Web 服务通信时,是否有一个很好的文档/文章可以提供最佳实践?
谢谢
【问题讨论】:
标签: cocoa performance macos
您应该尝试 Mac OS X 开发工具附带的 Shark - 非常适合挖掘您的调用堆栈,并且应该允许您限制网络库和朋友。
【讨论】:
是的! Apple 实际上有一些非常简洁的性能指南,涵盖了很多技巧和技术,我相信您会找到与您自己的应用程序相关的内容。可能还有一些针对 10.5 的其他指南我还没有看过,但这里有三个我过去发现有用的指南。
不过,最重要的一点是,您需要使用性能工具来准确查看瓶颈发生的位置。有时它可能出现在您最意想不到的地方。
【讨论】:
我认为,如果您使用 Shark,您会发现您的应用程序正在阻塞等待服务器返回的答案。跨机器分割的代码很难进行基准测试,因为标准工具只能对图片的一部分进行基准测试。
听起来您需要考虑将调用捆绑到更少的事务中......您的瓶颈几乎可以肯定是网络。支持将多个调用作为调用数组发送怎么样?答案也一样?也许您可以在本地缓冲调用,并且每秒仅将它们作为单个事务发送几次?
托尼
【讨论】: