Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <body>
- <table id="output">
- </table>
- <script type="text/javascript">
- function assign(sparseArray, indices) {
- for (i = 0; i < indices.length; i++) {
- sparseArray[indices[i]] = i;
- }
- }
- function shift(sparseArray, indices) {
- for (i = 0; i < indices.length; i++) {
- sparseArray[indices[i] + 2] = sparseArray[indices[i]];
- sparseArray[indices[i]] = null;
- }
- }
- function doWork(max, amount)
- {
- console.log("Called Max: " + max + " Amount: " + amount);
- var indices = new Array();
- for (i = 0; i < amount; i++) {
- indices[i] = Math.round(Math.random() * max);
- }
- var sparseArray = new Array();
- assign(sparseArray, indices);
- var start = Date.now();
- shift(sparseArray, indices);
- var end = Date.now() - start;
- return end;
- }
- function buildResults()
- {
- var table = document.getElementById("output");
- var densities = [1, 5, 10, 30, 50];
- var header = '';
- densities.forEach(function (value) { header += '<td>' + value + '%</td>'; })
- table.innerHTML += '<th>' + header + '</th>';
- var sizes = [100, 1000, 10000, 100000, 1000000, 5000000];
- var i = 0;
- for (i = 0; i < sizes.length; i++) {
- var row = '<td>' + sizes[i] + '</td>';
- for (c = 0; c < densities.length; c++) {
- row += '<td>' + doWork(sizes[i], sizes[i] * densities[c] / 100) + '</td>';
- }
- table.innerHTML += '<tr>' + row + '</tr>';
- }
- }
- buildResults();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement