【问题标题】:Node.js fs.readFile vs jQuery $.getJSON - which is faster?Node.js fs.readFile vs jQuery $.getJSON - 哪个更快?
【发布时间】:2014-04-16 16:18:05
【问题描述】:

我正在开发一个在 Node-Webkit 中运行的程序,并且我将 jQuery 用于许多其他任务。现在我有一个 settings.json 文件,我需要在程序启动时加载它,我正在考虑如何加载它。

所以要么我使用 node.js fs 函数从文件中读取数据,然后使用 JSON.parse 在 javascript 对象中获取正确的数据,要么我使用 jQuery 函数 $.getJSON 在一个函数中获取json文件,解析它并返回一个数据对象。

现在我想知道,是否有关于两者速度的数据?如果 settings.json 文件变大(例如,当我添加更多设置时),jQuery 选项会显着变慢还是差异可以忽略不计?我在这里假设 jQuery 方式会比 node.js 方式慢,因为在我看来,文件系统上的操作比 jQuery 获取请求更快似乎是合乎逻辑的,但是我可能又错了。

谁能帮我提供一些这方面的信息?我必须补充一点,我对 node.js 还很陌生,我了解它的作用,但我现在才尝试了大约一周,所以我还没有对它进行任何实质性的阅读或研究。

【问题讨论】:

  • 更好的解决方案:使用require('./settings.json')
  • 这是否也会给我来自 json 代码的 javascript 对象?

标签: jquery json performance node.js node-webkit


【解决方案1】:

您可以使用 require 函数立即执行此操作。

var settings = require('path/to/settings.json');
// settings is your JSON parsed object

对于您真正的问题,FS module 将与 jQuery.getJSON 一样快或更快,因为在最好的情况下,如果 jQuery.getJSON 甚至实际上可以加载本地文件,jQuery.getJSON 将具有样板最后将使用 Node 的核心 FS 模块的代码。更有可能的是,当您尝试加载本地文件时,jQuery.getJSON 可能仅适用于 HTTP 协议请求(尚未查看 nodejs 端口)。

【讨论】:

  • 谢谢!我不知道 require 函数可以这样使用。
  • 另外,jQuery 的 getJSON(实际上是所有 ajax 函数)在 Node-Webkit 中似乎工作得很好,到目前为止我在使用它们时没有任何问题。
猜你喜欢
  • 2015-04-08
  • 2011-11-01
  • 2020-08-04
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 1970-01-01
  • 2011-09-24
相关资源
最近更新 更多