我用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> </h1>
<input type="button" onClick='alert("Directing to Home Page"); window.location = "Home Page.html"' value="Back to Home Page">
<input type="button" onClick=WriteFile(); value="Begin Sorting!"
style="width: 174px; margin-left: 0px">
</form>
</html>
答案 0 :(得分:2)
JavaScript语言和核心库不提供查看或计算运行时内存使用情况的方法。
您唯一的希望是找到一个可以为您完成的库(例如ActiveX插件等)。请注意,一些流行的Web浏览器(Chrome,Firefox,可能还有其他)的开发人员工具提供了一个内存分析图形界面,所以也许你可以找到程序化的钩子;但是,如果它们存在,它们几乎肯定不会跨浏览器工作。