2012-04-17 52 views
0

我很好奇,我正在爲wordpress創建一個flickr插件。我注意到,我寫的PHP相當慢,然後我寫了相同的JavaScript。PHP vs Javascript高效XML解析器

我知道Javascript運行在客戶端,因此只要沒有大量進程佔用處理器,它就會更快。在PHP遠程運行的時候,我知道這些都是基於連接和服務器上發生的事情。我在想,如果一個人比另一個人更好用,並且DOM可能不是抓取XML的最佳方式。在這種情況下,我使用DOM去獲取XML,然後解析出來。使用Javascript,我使用SOAP來解析相同的XML。

+0

運行在服務器端用PHP中的V8JS類的JavaScript如果你能買得起它使得客戶端的工作,而不是你的服務器是好時候。 – gosukiwi 2012-04-17 14:57:34

+0

有些人默認禁用JavaScript。 – Aidanc 2012-04-17 14:57:36

+2

你確定這是XML處理速度較慢嗎?在代碼中添加一些跟蹤和計時調用並記錄它們 - 根本原因可能完全是其他事情。確認你的假設總是很好的。 – 2012-04-17 15:13:48

回答

4

假設

  • 需要JavaScript此插件。
  • JavaScript測試只在您的開發機器上完成。

我認爲你需要重新考慮你的指標。在你的特定情況下,JavaScript比PHP更快,但我並不認爲這是全線的情況。我假設你是共享主機,因爲你的插件可能是最終用戶,所以你的PHP不會在最快的服務器上。像羅裏上面說的。最好診斷爲什麼你的PHP速度很慢。使用JavaScript,您必須考慮到平均用戶的設備速度,其範圍可以從可怕到驚人。我的猜測是你的個人電腦在頻譜的高端附近。

沒有提供任何代碼,很難給出明確的答案。我會建議儘可能將您的JavaScript插件版本作爲各種設備和瀏覽器的可變參數。打擊iPad和手機等東西。

由於對低端設備的JavaScript潛在的性能缺陷,我可能會在服務器上執行任務除非調查顯示,在你的情況下,JavaScript是全線高性能。

+0

雅我同意這些都是好點。我遇到的一個問題就是,在嘗試實現一些面向對象的意識形態時,JavaScript可能會非常痛苦。我希望能夠通過使用PHP來解決JavaScript的一些全局變量陷阱,但是現在我看到像你說的那樣,PHP通過潛在的可怕連接運行的代價或者處於巨大負載下的服務器可能會破壞目的有應用程序開始。看起來它回到了繪圖板。謝謝! – Elliott 2012-04-17 18:04:49

+0

好吧,我解決了我最初的問題。用你說的話。我使用PHP來獲取它在0.005 ms內實現的主要數據,這些數據是我在幾個不同的平臺上測試過的。然後,我使用JavaScript來獲取大約相同時間內所需的大量數據。感謝大家! – Elliott 2012-04-17 21:38:23

+0

太棒了。格拉茨! – scottheckel 2012-04-18 02:04:40