2012-04-17 62 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