• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<script>
4
5 // How many arrays to allocate.
6var __n_arrays = 10;
7// How many elements in each array
8var __n_elements = 10 * 1000 * 1000;
9// Touch one element every __touch_step elements.
10var __touch_step = 5 * 1000;
11var __total_allocation;
12var __text_area = null;
13
14function __initialize_bloat() {
15  __total_allocation = 0;
16  document.bloat = new Array(__n_arrays);
17  for (i = 0; i < __n_arrays; i++) {
18    document.bloat[i] = new Array(1);
19  }
20  __display_message("allocation was cleared");
21}
22
23function __display_message(text) {
24  if (__text_area == null) {
25    __text_area = document.getElementById("text area");
26  }
27  if (__text_area != null) {
28    __text_area.innerText = text;
29  }
30}
31
32function __bloat_array(i) {
33  var message = "allocated "
34      + __total_allocation / (1000000) + "M elements ...";
35  if (i >= __n_arrays) {
36    message += " done"
37  }
38  __display_message(message);
39  if (i < __n_arrays) {
40    __total_allocation += __n_elements;
41    document.bloat[i] += new Array(__n_elements);
42    for (j = 0; j < __n_elements; j += __touch_step) {
43            document.bloat[i][j] = j;
44    }
45    setTimeout(function() {__bloat_array(i + 1);}, 10);
46  }
47}
48
49function __bloat() {
50  __bloat_array(0);
51}
52
53__initialize_bloat();
54__bloat();
55
56</script>
57</head>
58<body>
59<center>
60
61    <div id="text area">
62    No memory allocated yet.
63    </div>
64
65</center>
66</body>
67</html>
68