| <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> |