我有一個iPhone應用程序讀取XML文件,然後通過循環NSScanner抽出必要的數據。 XML不是特別長。NSScanner與NSXMLParser的速度?
我想知道是否值得工作實施NSXMLParser代替使用NSScanner,如果我會看到任何真正的速度提高?
我有一個iPhone應用程序讀取XML文件,然後通過循環NSScanner抽出必要的數據。 XML不是特別長。NSScanner與NSXMLParser的速度?
我想知道是否值得工作實施NSXMLParser代替使用NSScanner,如果我會看到任何真正的速度提高?
有不同的XML解析器一個很好的對比文章:
http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project
這傢伙使用900KB(!)的XML文件作爲測試樣本,其結果是相當有趣:的NSXMLParser是迄今爲止最慢的。也就是說,我認爲NSXMLParser自己使用NSScanner(或類似的)+額外的處理來處理與XML有關的事情。
如果您的解決方案正常工作並且易於維護,我不會切換到任何專用解析器。但是,如果您計劃擴展您的XML使用,則開始使用它可能是一個好主意。
如果你想直接測試每種方法的速度有多快,有一個開源的工具,叫做CodeTimestamps可能會有所幫助:
http://eng.pulse.me/line-by-line-speed-analysis-for-ios-apps/
你總是可以運行自己的測試。創建一個小命令行應用程序來測試它們,在開始和結束時比較日期字符串以查看它花了多長時間。我的猜測是差異可以忽略不計,但我沒有使用這些類。 – 2010-06-16 21:45:27
如果您這樣做,請在實際設備上運行代碼,而不是僅在模擬器上運行代碼。 – pgb 2010-06-17 00:47:47