我正在開發一個可持續與Web服務進行通信以獲取最新數據的Cocoa應用程序。這大大降低了應用程序的性能。這些調用是異步進行的,但是調用的數量非常大。Cocoa應用程序中的性能調優
我可以通過哪些方式提高應用程序的性能?是否有一個很好的文檔/書寫可用,它提供了一個Cocoa應用程序與Web服務通信時要遵循的最佳實踐?
感謝
我正在開發一個可持續與Web服務進行通信以獲取最新數據的Cocoa應用程序。這大大降低了應用程序的性能。這些調用是異步進行的,但是調用的數量非常大。Cocoa應用程序中的性能調優
我可以通過哪些方式提高應用程序的性能?是否有一個很好的文檔/書寫可用,它提供了一個Cocoa應用程序與Web服務通信時要遵循的最佳實踐?
感謝
是的!蘋果實際上有一些關於性能的非常簡明的指南,涵蓋了很多技巧和技巧,我相信你會發現與你自己的應用程序相關的東西。可能還有一些額外的10.5指南,我還沒有看到,但這裏有三個我以前發現有用的。
到雖然帶走的最重要的事,是你需要使用的性能工具,看看到底瓶頸在哪裏發生。有時它可能在你最不期待的地方。
你應該嘗試Shark隨附的Mac OS X devtools - 真正偉大的挖掘到您的調用堆棧,並應該讓你限制在網絡庫和朋友。
我想如果你使用鯊魚,你只是發現你的應用程序阻塞等待從服務器回來的答案。由於標準工具只能對部分圖片進行基準測試,所以跨機器的代碼分割難度很大。
聽起來像你需要考慮將呼叫捆綁成更少的交易....你的瓶頸幾乎肯定是網絡。如何支持將多個呼叫作爲一系列呼叫發送?和答案一樣嗎?也許你可以在本地緩衝呼叫,並且每次只發送幾次作爲單個事務?
Tony
感謝您的建議安東尼。這裏的問題是我正在進行這些調用來讀取服務器上文件的內容,併發送帶有一定字節範圍的請求(因爲請求來自內核),所以不能真正將請求堆疊在一起併發送他們。內核不會等待:) – lostInTransit 2009-01-08 07:51:01
非常感謝這些文檔。他們真的幫助。 – lostInTransit 2009-01-08 07:49:05