diff --git a/examples/js/src/example-papaparsing.js b/examples/js/src/example-papaparsing.js index bbd1bc2..27bf618 100644 --- a/examples/js/src/example-papaparsing.js +++ b/examples/js/src/example-papaparsing.js @@ -200,7 +200,11 @@ function ticked() { .attr("cy", function (d) { return d.y*MULTIPLIER; }); - } + }/* + if(alreadyRanIterations%10 != 1) stresses.push(""); + else stresses.push(d3.calculateStress(nodes, function (n, m) { + return distanceFunction(n, m, props, norm); + }));*/ // Emit the distribution data to allow the drawing of the bar graph if (springForce) { intercom.emit("passedData", simulation.force(forceName).distributionData()); @@ -214,7 +218,7 @@ function ended() { simulation.stop(); simulation.force(forceName, null); console.log("ended"); - if (rendering !== true) { // Never drawn anything before? Now it's time. + //if (rendering !== true) { // Never drawn anything before? Now it's time. node .attr("cx", function (d) { return d.x*MULTIPLIER; @@ -222,7 +226,10 @@ function ended() { .attr("cy", function (d) { return d.y*MULTIPLIER; }); - } + //} + console.log("Post stress", d3.calculateStress(nodes, function (n, m) { + return distanceFunction(n, m, props, norm); + })); if (p1 !== 0) { // Performance time measurement diff --git a/src/hybridSimulation.js b/src/hybridSimulation.js index 8e983ea..d9dfdeb 100644 --- a/src/hybridSimulation.js +++ b/src/hybridSimulation.js @@ -40,7 +40,8 @@ export default function (sim, forceS, forceF) { initAlready = false, nodes, alreadyRanIterations, - hybrid; + hybrid, + p0 = performance.now(), p1, p2, p3; if(simulation != undefined) initSimulation(); if(forceS != undefined || forceF != undefined) initForces(); @@ -105,14 +106,20 @@ export default function (sim, forceS, forceF) { } function fullEnded() { - simulation.stop(); - initAlready = false; - simulation.force("Full force", null); - event.call("end"); - } + p3 = performance.now(); + simulation.stop(); + initAlready = false; + simulation.force("Full force", null); + console.log("Phase 1 takes", p1-p0); + console.log("Phase 2 takes", p2-p1); + console.log("Phase 3 takes", p3-p2); + console.log("Total", p3-p0); + console.log("Phase 3 iterations", alreadyRanIterations); + event.call("end"); } function sampleEnded() { + p1 = performance.now(); simulation.stop(); simulation.force("Sample force", null); // Reset velocity of all nodes @@ -127,6 +134,7 @@ export default function (sim, forceS, forceF) { } else { interpBruteForce(sample, remainder, interpDistanceFn, INTERP_FINE_ITS); } + p2 = performance.now(); event.call("fullTick"); alreadyRanIterations = 0; diff --git a/src/neighbourSampling.js b/src/neighbourSampling.js index 186a2f7..cb08bac 100644 --- a/src/neighbourSampling.js +++ b/src/neighbourSampling.js @@ -66,6 +66,7 @@ export default function () { if(velocityDiff