在javascript中计算内存使用量

时间:2012-03-19 14:18:08

标签: javascript ajax sorting memory

我用Javascript编写了一个程序,它从文件中读取数字,对它们进行排序,然后将它们写回文件。但是我无法找到合适的方法或工具来获取程序的内存使用情况。(类似于Runtime.getRuntime()。totalMemory() - Runtime.getRuntime()。freeMemory();在java中)。如果有人能给我一个带头,我会很感激。

这是代码。

<html>
<script>
var oRequest;

var data=new Array();
var b= new Array();
var j
var k;
var temp;
var temp1;

if(document.all) {

oRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
else {

oRequest = new XMLHttpRequest();
}


oRequest.open("GET", "file:///C:/numbers.txt", true);
oRequest.send(null);


numbers= oRequest.responseText.split("\n");
for (var i = 0;i<(numbers.length-1);i++)
{
numbers[i] = parseInt(numbers[i],10);
}

var d = new Date();
var start = d.getTime();

for(var i=0;i<numbers.length;i++)
{
for(j=0;j<(numbers.length-1);j++)
{
 if(numbers[j]>numbers[j+1])
{
 temp=numbers[j+1];
  numbers[j+1] = numbers[j];
  numbers[j] = temp;
 }
 }}

var g = new Date();
var end =g.getTime();
var diff=(end-start);


</script>
<script>
function WriteFile() 
{
var fso  = new ActiveXObject("Scripting.FileSystemObject"); 
var fh = fso.CreateTextFile("C:\\BubbleJS.txt", true); 
for(i=0;i<5000;i++)
{
fh.WriteLine(numbers[i]);
}   
fh.WriteLine("\n");
fh.WriteLine("The time required for sorting is "+diff+" Milliseconds");
fh.Close(); 
}
 </script>


<form>
<body background="Bubble.png">
 <h1>&nbsp;</h1>
 <input type="button" onClick='alert("Directing to Home Page"); window.location = "Home           Page.html"' value="Back to Home  Page">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" onClick=WriteFile(); value="Begin Sorting!" 
    style="width: 174px; margin-left: 0px">&nbsp;&nbsp;

   </form>

   </html>

1 个答案:

答案 0 :(得分:2)

JavaScript语言和核心库不提供查看或计算运行时内存使用情况的方法。

您唯一的希望是找到一个可以为您完成的库(例如ActiveX插件等)。请注意,一些流行的Web浏览器(Chrome,Firefox,可能还有其他)的开发人员工具提供了一个内存分析图形界面,所以也许你可以找到程序化的钩子;但是,如果它们存在,它们几乎肯定不会跨浏览器工作。