Html程序  |  68行  |  1.35 KB

<html>
<head>
<script>

 // How many arrays to allocate.
var __n_arrays = 10;
// How many elements in each array
var __n_elements = 10 * 1000 * 1000;
// Touch one element every __touch_step elements.
var __touch_step = 5 * 1000;
var __total_allocation;
var __text_area = null;

function __initialize_bloat() {
  __total_allocation = 0;
  document.bloat = new Array(__n_arrays);
  for (i = 0; i < __n_arrays; i++) {
    document.bloat[i] = new Array(1);
  }
  __display_message("allocation was cleared");
}

function __display_message(text) {
  if (__text_area == null) {
    __text_area = document.getElementById("text area");
  }
  if (__text_area != null) {
    __text_area.innerText = text;
  }
}

function __bloat_array(i) {
  var message = "allocated "
      + __total_allocation / (1000000) + "M elements ...";
  if (i >= __n_arrays) {
    message += " done"
  }
  __display_message(message);
  if (i < __n_arrays) {
    __total_allocation += __n_elements;
    document.bloat[i] += new Array(__n_elements);
    for (j = 0; j < __n_elements; j += __touch_step) {
            document.bloat[i][j] = j;
    }
    setTimeout(function() {__bloat_array(i + 1);}, 10);
  }
}

function __bloat() {
  __bloat_array(0);
}

__initialize_bloat();
__bloat();

</script>
</head>
<body>
<center>

    <div id="text area">
    No memory allocated yet.
    </div>

</center>
</body>
</html>