在磁盘上做一个JSON文件,当加载到内存中的var中时,会占用相同的空间
Does a JSON file on disk, occupy the same amount of space when loaded into a var in memory?
我在磁盘上存储了一些JSON文件(每个文件都很小,大约4kB),并在需要时将它们加载到var中。我可能有成千上万个这样的文件,如果它们在内存中占据的空间与它们在磁盘上占据的空间相同,我宁愿在应用程序启动时将它们全部加载到内存中。
当我从文件创建对象时,如何计算文件占用的内存(RAM)?
编辑:我知道如何将JSON文件保存到磁盘。这不是我的问题。我试图了解当我将JSON文件加载到变量中时,它将占用多少内存(RAM)。如果我知道磁盘上JSON文件的大小,我如何计算当我在node.js或web浏览器中从文件创建javascript对象时,它会占用多少内存
这些文件将保存为"纯文本文件"。例如:
{"foo": {
"bar": 1,
"foo": {
"bar": [
"foo",
"bar"
],
"foo":[
"bar",
"foo"
]
}
}
}
对象占用的RAM数量与文件大小不同。文件的大小只是其中的字节数,但对象占用的RAM数量取决于存储在其中的值。例如,在这样的对象中:
{
"bar": 1
}
保存到文件时,1
仅为一个字节。但是,如果要将此对象加载到var
中,则1
将占用8个字节,因为它是number
。
看看每个数据类型的大小的答案:https://stackoverflow.com/a/11900218/1611665
此外,您应该考虑键的大小(但这很简单,如果键是字符串,它是length
属性的两倍)。
我会尝试测量您使用的JavaScript执行环境中的内存消耗。例如,对于chrome浏览器,您可以使用此内存评测指南。
您提到的数据文件表明您的代码运行在服务器上,可能是node.js。我会看看这个。
相关文章:
- 控制台返回var不是't定义,但它是
- 从var向代码隐藏函数传递值
- 如何通过引用var Using DataTables来进行分页或排序
- jQuery语法添加了var
- 如何将具有文本类型值的var放入jQuery函数中
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 当var==0时,我如何显示一个警报
- javascript中对象构造函数中的var属性与this.properties
- 函数中this和var之间的区别
- JavaScript-的含义:var DndUpload=函数(inputElem){};
- 重复应用 d3 转换导致的内存泄漏
- Understanding Javascript scope with "var that = this&qu
- 如何显示在给定极限内存在的所有素数
- 如何使用javascript var引用Mongo DB集合's字段
- 在 JavaScript 中,当一次声明多个变量时,仅使用一个 var 语句是否有内存优势
- 在磁盘上做一个JSON文件,当加载到内存中的var中时,会占用相同的空间
- 在没有赋值的情况下用var在JavaScript中声明变量会消耗内存吗
- 是否可以通过避免var来减少内存使用?
- 正在使用var foo = function foo() {};在IE中创建内存泄漏的表达式<9.
- 我怎么能把图像在一个var memory_array内存游戏